Packages

Semantic code search and analysis for Elixir projects via MCP (Model Context Protocol)

Current section

Files

Jump to
codicil lib mix.tasks.codicil.setup.ex
Raw

lib/mix.tasks.codicil.setup.ex

defmodule Mix.Tasks.Codicil.Setup do
@moduledoc """
Initializes the Codicil database.
Creates the database and runs all migrations.
## Example
mix codicil.setup
"""
@shortdoc "Initializes the Codicil database"
use Mix.Task
@impl Mix.Task
def run(_args) do
# Signal to tracer not to start the application during setup
Application.put_env(:codicil, :skip_startup, true)
Mix.shell().info("Setting up Codicil database...")
# Create the database
Mix.Task.run("ecto.create", ["-r", "Codicil.Db.Repo"])
# Run migrations
Mix.Task.run("ecto.migrate", ["-r", "Codicil.Db.Repo"])
Mix.shell().info("Codicil database setup complete!")
end
end