Helpers for creating the Bandera flags table. Call from your own migration:
defmodule MyApp.Repo.Migrations.CreateBanderaFlags do
use Ecto.Migration
def up, do: Bandera.Ecto.Migrations.up()
def down, do: Bandera.Ecto.Migrations.down()
endThe table name is read at runtime from config :bandera, persistence: [ecto_table_name: ...]
(default "bandera_flags"), so it is never fixed at compile time.
Summary
Functions
Creates the flags table and its unique index (idempotently).
Add the schema-v2 value column to an existing flags table.
Functions
@spec down() :: :ok
Drops the flags table. Call from the down/0 of your own migration.
@spec up() :: :ok
Creates the flags table and its unique index (idempotently).
Call from the up/0 of your own migration. The table name is read at runtime
from Bandera.Config.ecto_table_name/0.
@spec upgrade_v2() :: :ok
Add the schema-v2 value column to an existing flags table.
Call once from the up/0 of a versioned migration in an existing install:
defmodule MyApp.Repo.Migrations.UpgradeBanderaV2 do
use Ecto.Migration
def up, do: Bandera.Ecto.Migrations.upgrade_v2()
endUses a plain add/2 (not add_if_not_exists/2) so it works on adapters such as
SQLite3 that reject conditional column additions; migration versioning ensures it
runs only once.