mix arcana.install (Arcana v3.0.0)

Copy Markdown View Source

Installs Arcana in your Phoenix application.

$ mix arcana.install

This will:

  • Generate the migration for arcana_documents and arcana_chunks tables
  • Add the dashboard route to your Phoenix router
  • Create the Postgrex types module for pgvector
  • Configure your repo to use the types module

If the repo already has a :types key in its config, the installer leaves it alone and tells you how to add the pgvector extension to that module.

A Postgrex.Types.define/3 call found by scanning lib/ is a weaker signal: types modules are per-repo, and nothing in the call says which repo it serves. The installer leaves that module untouched and generates a separate one for the repo it is installing into, named so it cannot collide, so the repo ends up with pgvector registered either way.

Detection reads every *.exs file directly inside your config directory, plus every lib/**/*.ex file that mentions Postgrex.Types.define. It does not evaluate config, so a :types key that only exists in a file imported from outside the config directory, or that is built at runtime, is invisible to it - the installer will generate a second types module. If that happens, delete the generated module and add Pgvector.Extensions.Vector to yours instead.

Options

  • --no-dashboard - Skip adding the dashboard route
  • --repo - The repo to use (defaults to YourApp.Repo)