Apply D1 migrations with a LEDGER (_suluk_migrations) so each runs exactly once — the missing piece that makes a
redeploy safe. A migration not yet in the ledger is run and recorded; if it fails because the schema is ALREADY
present (a DB migrated by raw execute before tracking existed), that idempotency error is swallowed and the
migration is baselined (recorded), not fatal. Any other SQL error aborts. Returns the names newly recorded.
Apply D1 migrations with a LEDGER (
_suluk_migrations) so each runs exactly once — the missing piece that makes a redeploy safe. A migration not yet in the ledger is run and recorded; if it fails because the schema is ALREADY present (a DB migrated by raw execute before tracking existed), that idempotency error is swallowed and the migration is baselined (recorded), not fatal. Any other SQL error aborts. Returns the names newly recorded.