Ecto dont creates table but migration success

Hi all! for clarify i upload all to github
to start:
docker-compose up -d
inside container (via docker exec -it app sh), im trying migrate via mix ecto.migrate

migration “successfully” migrates:

❯ docker exec -it app sh
/spool/services/poller_dal $ mix ecto.rollback
21:56:56.054 [info]  == Running 20230224150122 PollerDal.Repo.Migrations.CreateDistricts.change/0 backward
21:56:56.056 [info]  == Migrated 20230224150122 in 0.0s
/spool/services/poller_dal $ mix ecto.migrate
21:57:01.036 [info]  == Running 20230224150122 PollerDal.Repo.Migrations.CreateDistricts.change/0 forward
21:57:01.038 [info]  == Migrated 20230224150122 in 0.0s

but new table not creates

P.S.: in schema_migrations successfully added new line that this migration migrates “ok”

It looks to me like your migration file is empty.

There’s some good reference here in the docs for building a migration file: Ecto.Migration — Ecto SQL v3.9.2

Also, you might find the following useful when you create your schemas: mix phx.gen.schema — Phoenix v1.6.4

This particular mix task will create and populate the migration file as well (edit: along with the schema of course :slight_smile: ).

1 Like
defmodule PollerDal.Repo.Migrations.CreateDistricts do
  use Ecto.Migration

  def change do
    create table("districts") do
      add :name, :string

      timestamps()
    end
  end
end

migration file exists and not empty)

wow, i see its real empty in repo… O____O i understood))

this file under ReadOnly rights until it creates via mix ecto.gen.migration xxxx and he starts under root under container =) i see modified version, but i have no rights…

thanks a lot)) so simple…

1 Like