Extensions in ash_postgres database

Hi,

since my project will require some analytics, I’ve decided to use Postgres + DuckDB via pg_duckdb extension. I’ve spinned up an official pgduckdb container, set up credentials, run mix ash.reset, added pg_duckdb to installed_extensions/0 and finally run mix ash.codegen install_pg_duckdb + mix ash.migrate, but I end up with:

Getting extensions in current project...
Running migration for AshPostgres.DataLayer...

09:31:07.612 [info] == Running 20251218083057 MyApp.Repo.Migrations.InstallPgDuckdbExtensions1.up/0 forward

09:31:07.619 [info] execute "CREATE EXTENSION IF NOT EXISTS \"pg_duckdb\""

09:31:07.670 [info] == Migrated 20251218083057 in 0.0s
** (Postgrex.Error) ERROR 42P01 (undefined_table) relation "schema_migrations" does not exist

    query: INSERT INTO "schema_migrations" ("version","inserted_at") VALUES ($1,$2)
    (ecto_sql 3.13.3) lib/ecto/adapters/sql.ex:1108: Ecto.Adapters.SQL.raise_sql_call_error/1
    (ecto 3.13.5) lib/ecto/repo/schema.ex:1000: Ecto.Repo.Schema.apply/4
    (ecto 3.13.5) lib/ecto/repo/schema.ex:500: anonymous fn/15 in Ecto.Repo.Schema.do_insert/4
    (my_app 0.1.0) lib/my_app/repo.ex:2: MyApp.Repo.insert/2
    (ecto_sql 3.13.3) lib/ecto/migrator.ex:338: anonymous fn/6 in Ecto.Migrator.async_migrate_maybe_in_transaction/7
    (my_app 0.1.0) lib/my_app/repo.ex:2: anonymous fn/1 in MyApp.Repo."transaction (overridable 1)"/2
    (ecto 3.13.5) lib/ecto/repo/transaction.ex:11: anonymous fn/3 in Ecto.Repo.Transaction.transact/4
    (ecto_sql 3.13.3) lib/ecto/adapters/sql.ex:1468: anonymous fn/3 in Ecto.Adapters.SQL.checkout_or_transaction/4

Here are some additional logs:

$ psql -U duck
psql (18.1 (Debian 18.1-1.pgdg12+2))
Type "help" for help.

duck=# \dx
                           List of installed extensions
   Name    | Version | Default version |   Schema   |         Description          
-----------+---------+-----------------+------------+------------------------------
 pg_duckdb | 1.1.0   | 1.1.0           | public     | DuckDB Embedded in Postgres
 plpgsql   | 1.0     | 1.0             | pg_catalog | PL/pgSQL procedural language
(2 rows)

duck=# \c my_app_dev 
You are now connected to database "my_app_dev" as user "duck".
my_app_dev=# \dx
                          List of installed extensions
  Name   | Version | Default version |   Schema   |         Description          
---------+---------+-----------------+------------+------------------------------
 plpgsql | 1.0     | 1.0             | pg_catalog | PL/pgSQL procedural language
(1 row)

my_app_dev=# SELECT * FROM schema_migrations;
    version     |     inserted_at     
----------------+---------------------
 20251210094714 | 2025-12-18 08:28:00
(1 row)

As you can see, schema_migrations table exists.