Hey, my app
premade has had issues deploying over the last 24hrs; it’s failing on the migration step and I don’t believe I’ve changed anything in the connection or DB settings since the last successful deployment
==> Release command Command: /app/bin/premade eval Premade.Release.migrate Starting instance Configuring virtual machine Pulling container image Unpacking image Preparing kernel init Configuring firecracker Starting virtual machine Starting init (commit: cc4f071)... Running: `/app/bin/premade eval Premade.Release.migrate` as nobody 2021/08/03 10:07:37 listening on [fdaa:0:3049:a7b:a98:febd:a5b4:2]:22 (DNS: [fdaa::3]:53) Reaped child process with pid: 562 and signal: SIGUSR1, core dumped? false 10:07:41.447 [error] Could not create schema migrations table. This error usually happens due to the following: * The database does not exist * The "schema_migrations" table, which Ecto uses for managing migrations, was defined by another library * There is a deadlock while migrating (such as using concurrent indexes with a migration_lock) To fix the first issue, run "mix ecto.create". To address the second, you can run "mix ecto.drop" followed by "mix ecto.create". Alternatively you may configure Ecto to use another table and/or repository for managing migrations: config :premade, Premade.Repo, migration_source: "some_other_table_for_schema_migrations", migration_repo: AnotherRepoForSchemaMigrations The full error report is shown below. ** (DBConnection.ConnectionError) connection not available and request was dropped from queue after 2977ms. This means requests are coming in and your connection pool cannot serve them fast enough. You can address this by: 1. Ensuring your database is available and that you can connect to it 2. Tracking down slow queries and making sure they are running fast enough 3. Increasing the pool_size (albeit it increases resource consumption) 4. Allowing requests to wait longer by increasing :queue_target and :queue_interval See DBConnection.start_link/2 for more information (ecto_sql 3.6.2) lib/ecto/adapters/sql.ex:760: Ecto.Adapters.SQL.raise_sql_call_error/1 (elixir 1.12.2) lib/enum.ex:1582: Enum."-map/2-lists^map/1-0-"/2 (ecto_sql 3.6.2) lib/ecto/adapters/sql.ex:848: Ecto.Adapters.SQL.execute_ddl/4 (ecto_sql 3.6.2) lib/ecto/migrator.ex:645: Ecto.Migrator.verbose_schema_migration/3 (ecto_sql 3.6.2) lib/ecto/migrator.ex:473: Ecto.Migrator.lock_for_migrations/4 (ecto_sql 3.6.2) lib/ecto/migrator.ex:388: Ecto.Migrator.run/4 (ecto_sql 3.6.2) lib/ecto/migrator.ex:146: Ecto.Migrator.with_repo/3 (premade 0.1.0) lib/release.ex:12: anonymous fn/2 in Premade.Release.migrate/0 Main child exited normally with code: 1 Reaped child process with pid: 564 and signal: SIGUSR1, core dumped? false Starting clean up. Error Release command failed, deployment aborted
I thought for some reason the
pool_size might not be big enough (although I shouldn’t be receiving any traffic other than spam bots), so I even scaled down the app to 0 to just get a deployment out but this is still occurring
I can see the DB details are there in secrets still.
Can you see if I’m doing anything silly? The DB is on