DbOps

Lightweight runtime db management utility for Elixir/Ecto Releases without Mix.

Installation

Add db_ops to your list of dependencies in mix.exs:

def deps do
[
{:db_ops, "~> 0.1.0"}
]
end

Usage in Releases

Since db_ops is packaged into your release, you can run database management tasks directly using eval:

1. Create Database

./bin/my_app eval "DbOps.create(:my_app)"

2. Run Seeds

./bin/my_app eval "DbOps.seed(:my_app)"

3. Drop Database (Safety Enforced)

# Will fail due to safety check
./bin/my_app eval "DbOps.drop(:my_app)"
# Confirmed execution
./bin/my_app eval "DbOps.drop(:my_app, confirm: \"YES_DELETE_DATABASE\")"