drizzle-orm 1.0.0-beta.22-41a7d21 → 1.0.0-beta.22-bf0fa46

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (127) hide show
  1. package/bun-sql/sqlite/migrator.cjs +1 -1
  2. package/bun-sql/sqlite/migrator.cjs.map +1 -1
  3. package/bun-sql/sqlite/migrator.js +1 -1
  4. package/bun-sql/sqlite/migrator.js.map +1 -1
  5. package/d1/migrator.cjs +1 -1
  6. package/d1/migrator.cjs.map +1 -1
  7. package/d1/migrator.js +1 -1
  8. package/d1/migrator.js.map +1 -1
  9. package/durable-sqlite/migrator.cjs +1 -1
  10. package/durable-sqlite/migrator.js +1 -1
  11. package/libsql/migrator.cjs +1 -1
  12. package/libsql/migrator.cjs.map +1 -1
  13. package/libsql/migrator.js +1 -1
  14. package/libsql/migrator.js.map +1 -1
  15. package/mysql-proxy/migrator.cjs +2 -2
  16. package/mysql-proxy/migrator.cjs.map +1 -1
  17. package/mysql-proxy/migrator.js +2 -2
  18. package/mysql-proxy/migrator.js.map +1 -1
  19. package/op-sqlite/migrator.cjs +1 -1
  20. package/op-sqlite/migrator.cjs.map +1 -1
  21. package/op-sqlite/migrator.js +1 -1
  22. package/op-sqlite/migrator.js.map +1 -1
  23. package/package.json +67 -13
  24. package/pg-proxy/migrator.cjs +2 -2
  25. package/pg-proxy/migrator.cjs.map +1 -1
  26. package/pg-proxy/migrator.js +2 -2
  27. package/pg-proxy/migrator.js.map +1 -1
  28. package/singlestore-proxy/migrator.cjs +2 -2
  29. package/singlestore-proxy/migrator.cjs.map +1 -1
  30. package/singlestore-proxy/migrator.js +2 -2
  31. package/singlestore-proxy/migrator.js.map +1 -1
  32. package/sqlite-cloud/migrator.cjs +1 -1
  33. package/sqlite-cloud/migrator.cjs.map +1 -1
  34. package/sqlite-cloud/migrator.js +1 -1
  35. package/sqlite-cloud/migrator.js.map +1 -1
  36. package/sqlite-core/dialect.cjs +7 -7
  37. package/sqlite-core/dialect.cjs.map +1 -1
  38. package/sqlite-core/dialect.d.cts +2 -1
  39. package/sqlite-core/dialect.d.ts +2 -1
  40. package/sqlite-core/dialect.js +7 -7
  41. package/sqlite-core/dialect.js.map +1 -1
  42. package/sqlite-proxy/migrator.cjs +40 -2
  43. package/sqlite-proxy/migrator.cjs.map +1 -1
  44. package/sqlite-proxy/migrator.js +39 -2
  45. package/sqlite-proxy/migrator.js.map +1 -1
  46. package/tursodatabase/migrator.cjs +1 -1
  47. package/tursodatabase/migrator.cjs.map +1 -1
  48. package/tursodatabase/migrator.js +1 -1
  49. package/tursodatabase/migrator.js.map +1 -1
  50. package/up-migrations/cockroach.cjs +6 -12
  51. package/up-migrations/cockroach.cjs.map +1 -1
  52. package/up-migrations/cockroach.d.cts +1 -5
  53. package/up-migrations/cockroach.d.ts +1 -5
  54. package/up-migrations/cockroach.js +6 -12
  55. package/up-migrations/cockroach.js.map +1 -1
  56. package/up-migrations/effect-pg.cjs +6 -12
  57. package/up-migrations/effect-pg.cjs.map +1 -1
  58. package/up-migrations/effect-pg.d.cts +1 -5
  59. package/up-migrations/effect-pg.d.ts +1 -5
  60. package/up-migrations/effect-pg.js +6 -12
  61. package/up-migrations/effect-pg.js.map +1 -1
  62. package/up-migrations/mssql.cjs +6 -12
  63. package/up-migrations/mssql.cjs.map +1 -1
  64. package/up-migrations/mssql.d.cts +1 -5
  65. package/up-migrations/mssql.d.ts +1 -5
  66. package/up-migrations/mssql.js +6 -12
  67. package/up-migrations/mssql.js.map +1 -1
  68. package/up-migrations/mysql-proxy.cjs +73 -0
  69. package/up-migrations/mysql-proxy.cjs.map +1 -0
  70. package/up-migrations/mysql-proxy.d.cts +16 -0
  71. package/up-migrations/mysql-proxy.d.ts +16 -0
  72. package/up-migrations/mysql-proxy.js +71 -0
  73. package/up-migrations/mysql-proxy.js.map +1 -0
  74. package/up-migrations/mysql.cjs +12 -28
  75. package/up-migrations/mysql.cjs.map +1 -1
  76. package/up-migrations/mysql.d.cts +1 -5
  77. package/up-migrations/mysql.d.ts +1 -5
  78. package/up-migrations/mysql.js +12 -28
  79. package/up-migrations/mysql.js.map +1 -1
  80. package/up-migrations/pg-proxy.cjs +79 -0
  81. package/up-migrations/pg-proxy.cjs.map +1 -0
  82. package/up-migrations/pg-proxy.d.cts +16 -0
  83. package/up-migrations/pg-proxy.d.ts +16 -0
  84. package/up-migrations/pg-proxy.js +77 -0
  85. package/up-migrations/pg-proxy.js.map +1 -0
  86. package/up-migrations/pg.cjs +9 -13
  87. package/up-migrations/pg.cjs.map +1 -1
  88. package/up-migrations/pg.d.cts +2 -6
  89. package/up-migrations/pg.d.ts +2 -6
  90. package/up-migrations/pg.js +9 -13
  91. package/up-migrations/pg.js.map +1 -1
  92. package/up-migrations/singlestore-proxy.cjs +73 -0
  93. package/up-migrations/singlestore-proxy.cjs.map +1 -0
  94. package/up-migrations/singlestore-proxy.d.cts +16 -0
  95. package/up-migrations/singlestore-proxy.d.ts +16 -0
  96. package/up-migrations/singlestore-proxy.js +71 -0
  97. package/up-migrations/singlestore-proxy.js.map +1 -0
  98. package/up-migrations/singlestore.cjs +9 -25
  99. package/up-migrations/singlestore.cjs.map +1 -1
  100. package/up-migrations/singlestore.d.cts +1 -5
  101. package/up-migrations/singlestore.d.ts +1 -5
  102. package/up-migrations/singlestore.js +9 -25
  103. package/up-migrations/singlestore.js.map +1 -1
  104. package/up-migrations/sqlite-proxy.cjs +80 -0
  105. package/up-migrations/sqlite-proxy.cjs.map +1 -0
  106. package/up-migrations/sqlite-proxy.d.cts +16 -0
  107. package/up-migrations/sqlite-proxy.d.ts +16 -0
  108. package/up-migrations/sqlite-proxy.js +78 -0
  109. package/up-migrations/sqlite-proxy.js.map +1 -0
  110. package/up-migrations/sqlite.cjs +17 -48
  111. package/up-migrations/sqlite.cjs.map +1 -1
  112. package/up-migrations/sqlite.d.cts +3 -10
  113. package/up-migrations/sqlite.d.ts +5 -12
  114. package/up-migrations/sqlite.js +17 -48
  115. package/up-migrations/sqlite.js.map +1 -1
  116. package/up-migrations/utils.cjs +47 -0
  117. package/up-migrations/utils.cjs.map +1 -0
  118. package/up-migrations/utils.d.cts +25 -0
  119. package/up-migrations/utils.d.ts +25 -0
  120. package/up-migrations/utils.js +44 -0
  121. package/up-migrations/utils.js.map +1 -0
  122. package/sqlite-proxy/migrator.internal.cjs +0 -61
  123. package/sqlite-proxy/migrator.internal.cjs.map +0 -1
  124. package/sqlite-proxy/migrator.internal.d.cts +0 -26
  125. package/sqlite-proxy/migrator.internal.d.ts +0 -26
  126. package/sqlite-proxy/migrator.internal.js +0 -59
  127. package/sqlite-proxy/migrator.internal.js.map +0 -1
@@ -5,7 +5,7 @@ let __migrator_ts = require("../../migrator.cjs");
5
5
  //#region src/bun-sql/sqlite/migrator.ts
6
6
  async function migrate(db, config) {
7
7
  const migrations = (0, __migrator_ts.readMigrationFiles)(config);
8
- return await db.dialect.migrate(migrations, db.session, config);
8
+ return await db.dialect.migrate(migrations, db, config);
9
9
  }
10
10
 
11
11
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"migrator.cjs","names":[],"sources":["../../../src/bun-sql/sqlite/migrator.ts"],"sourcesContent":["import type { MigrationConfig } from '~/migrator.ts';\nimport { readMigrationFiles } from '~/migrator.ts';\nimport type { AnyRelations } from '~/relations.ts';\nimport type { BunSQLiteDatabase } from './driver.ts';\n\nexport async function migrate<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(\n\tdb: BunSQLiteDatabase<TSchema, TRelations>,\n\tconfig: MigrationConfig,\n) {\n\tconst migrations = readMigrationFiles(config);\n\treturn await db.dialect.migrate(migrations, db.session, config);\n}\n"],"mappings":";;;;;AAKA,eAAsB,QACrB,IACA,QACC;CACD,MAAM,mDAAgC,OAAO;AAC7C,QAAO,MAAM,GAAG,QAAQ,QAAQ,YAAY,GAAG,SAAS,OAAO"}
1
+ {"version":3,"file":"migrator.cjs","names":[],"sources":["../../../src/bun-sql/sqlite/migrator.ts"],"sourcesContent":["import type { MigrationConfig } from '~/migrator.ts';\nimport { readMigrationFiles } from '~/migrator.ts';\nimport type { AnyRelations } from '~/relations.ts';\nimport type { BunSQLiteDatabase } from './driver.ts';\n\nexport async function migrate<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(\n\tdb: BunSQLiteDatabase<TSchema, TRelations>,\n\tconfig: MigrationConfig,\n) {\n\tconst migrations = readMigrationFiles(config);\n\treturn await db.dialect.migrate(migrations, db, config);\n}\n"],"mappings":";;;;;AAKA,eAAsB,QACrB,IACA,QACC;CACD,MAAM,mDAAgC,OAAO;AAC7C,QAAO,MAAM,GAAG,QAAQ,QAAQ,YAAY,IAAI,OAAO"}
@@ -3,7 +3,7 @@ import { readMigrationFiles } from "../../migrator.js";
3
3
  //#region src/bun-sql/sqlite/migrator.ts
4
4
  async function migrate(db, config) {
5
5
  const migrations = readMigrationFiles(config);
6
- return await db.dialect.migrate(migrations, db.session, config);
6
+ return await db.dialect.migrate(migrations, db, config);
7
7
  }
8
8
 
9
9
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"migrator.js","names":[],"sources":["../../../src/bun-sql/sqlite/migrator.ts"],"sourcesContent":["import type { MigrationConfig } from '~/migrator.ts';\nimport { readMigrationFiles } from '~/migrator.ts';\nimport type { AnyRelations } from '~/relations.ts';\nimport type { BunSQLiteDatabase } from './driver.ts';\n\nexport async function migrate<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(\n\tdb: BunSQLiteDatabase<TSchema, TRelations>,\n\tconfig: MigrationConfig,\n) {\n\tconst migrations = readMigrationFiles(config);\n\treturn await db.dialect.migrate(migrations, db.session, config);\n}\n"],"mappings":";;;AAKA,eAAsB,QACrB,IACA,QACC;CACD,MAAM,aAAa,mBAAmB,OAAO;AAC7C,QAAO,MAAM,GAAG,QAAQ,QAAQ,YAAY,GAAG,SAAS,OAAO"}
1
+ {"version":3,"file":"migrator.js","names":[],"sources":["../../../src/bun-sql/sqlite/migrator.ts"],"sourcesContent":["import type { MigrationConfig } from '~/migrator.ts';\nimport { readMigrationFiles } from '~/migrator.ts';\nimport type { AnyRelations } from '~/relations.ts';\nimport type { BunSQLiteDatabase } from './driver.ts';\n\nexport async function migrate<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(\n\tdb: BunSQLiteDatabase<TSchema, TRelations>,\n\tconfig: MigrationConfig,\n) {\n\tconst migrations = readMigrationFiles(config);\n\treturn await db.dialect.migrate(migrations, db, config);\n}\n"],"mappings":";;;AAKA,eAAsB,QACrB,IACA,QACC;CACD,MAAM,aAAa,mBAAmB,OAAO;AAC7C,QAAO,MAAM,GAAG,QAAQ,QAAQ,YAAY,IAAI,OAAO"}
package/d1/migrator.cjs CHANGED
@@ -9,7 +9,7 @@ let __up_migrations_sqlite_ts = require("../up-migrations/sqlite.cjs");
9
9
  async function migrate(db, config) {
10
10
  const migrations = (0, __migrator_ts.readMigrationFiles)(config);
11
11
  const migrationsTable = config.migrationsTable ?? "__drizzle_migrations";
12
- const { newDb } = await (0, __up_migrations_sqlite_ts.upgradeAsyncIfNeeded)(migrationsTable, db.session, migrations);
12
+ const { newDb } = await (0, __up_migrations_sqlite_ts.upgradeAsyncIfNeeded)(migrationsTable, db, migrations);
13
13
  if (newDb) {
14
14
  const migrationTableCreate = __sql_sql_ts.sql`
15
15
  CREATE TABLE IF NOT EXISTS ${__sql_sql_ts.sql.identifier(migrationsTable)} (
@@ -1 +1 @@
1
- {"version":3,"file":"migrator.cjs","names":["sql"],"sources":["../../src/d1/migrator.ts"],"sourcesContent":["import type { MigrationConfig, MigratorInitFailResponse } from '~/migrator.ts';\nimport { readMigrationFiles } from '~/migrator.ts';\nimport { getMigrationsToRun } from '~/migrator.utils.ts';\nimport type { AnyRelations } from '~/relations.ts';\nimport { sql } from '~/sql/sql.ts';\nimport { upgradeAsyncIfNeeded } from '~/up-migrations/sqlite.ts';\nimport type { DrizzleD1Database } from './driver.ts';\n\nexport async function migrate<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(\n\tdb: DrizzleD1Database<TSchema, TRelations>,\n\tconfig: MigrationConfig,\n): Promise<void | MigratorInitFailResponse> {\n\tconst migrations = readMigrationFiles(config);\n\tconst migrationsTable = config.migrationsTable ?? '__drizzle_migrations';\n\n\tconst { newDb } = await upgradeAsyncIfNeeded(migrationsTable, db.session, migrations);\n\n\tif (newDb) {\n\t\tconst migrationTableCreate = sql`\n\t\tCREATE TABLE IF NOT EXISTS ${sql.identifier(migrationsTable)} (\n\t\t\tid INTEGER PRIMARY KEY,\n\t\t\thash text NOT NULL,\n\t\t\tcreated_at numeric,\n\t\t\tname text,\n\t\t\tapplied_at TEXT\n\t\t)\n\t`;\n\t\tawait db.session.run(migrationTableCreate);\n\t}\n\n\tconst dbMigrations = await db.all<{ id: number; hash: string; created_at: string; name: string | null }>(\n\t\tsql`SELECT id, hash, created_at, name FROM ${sql.identifier(migrationsTable)}`,\n\t);\n\n\tif (typeof config === 'object' && config.init) {\n\t\tif (dbMigrations.length) {\n\t\t\treturn { exitCode: 'databaseMigrations' as const };\n\t\t}\n\n\t\tif (migrations.length > 1) {\n\t\t\treturn { exitCode: 'localMigrations' as const };\n\t\t}\n\n\t\tconst [migration] = migrations;\n\n\t\tif (!migration) return;\n\n\t\tawait db.run(\n\t\t\tsql`INSERT INTO ${\n\t\t\t\tsql.identifier(migrationsTable)\n\t\t\t} (\"hash\", \"created_at\", \"name\", \"applied_at\") values(${migration.hash}, ${migration.folderMillis}, ${migration.name}, ${\n\t\t\t\tnew Date().toISOString()\n\t\t\t})`\n\t\t\t\t.inlineParams(),\n\t\t);\n\t\treturn;\n\t}\n\n\tconst migrationsToRun = getMigrationsToRun({ localMigrations: migrations, dbMigrations });\n\tconst statementToBatch = [];\n\tfor (const migration of migrationsToRun) {\n\t\tfor (const stmt of migration.sql) {\n\t\t\tstatementToBatch.push(db.run(sql.raw(stmt)));\n\t\t}\n\n\t\tstatementToBatch.push(\n\t\t\tdb.run(\n\t\t\t\tsql`INSERT INTO ${\n\t\t\t\t\tsql.identifier(migrationsTable)\n\t\t\t\t} (\"hash\", \"created_at\", \"name\", \"applied_at\") values(${migration.hash}, ${migration.folderMillis}, ${migration.name}, ${\n\t\t\t\t\tnew Date().toISOString()\n\t\t\t\t})`\n\t\t\t\t\t.inlineParams(),\n\t\t\t),\n\t\t);\n\t}\n\n\tif (statementToBatch.length > 0) {\n\t\tawait db.session.batch(statementToBatch);\n\t}\n}\n"],"mappings":";;;;;;;;AAQA,eAAsB,QACrB,IACA,QAC2C;CAC3C,MAAM,mDAAgC,OAAO;CAC7C,MAAM,kBAAkB,OAAO,mBAAmB;CAElD,MAAM,EAAE,UAAU,0DAA2B,iBAAiB,GAAG,SAAS,WAAW;AAErF,KAAI,OAAO;EACV,MAAM,uBAAuB,gBAAG;+BACHA,iBAAI,WAAW,gBAAgB,CAAC;;;;;;;;AAQ7D,QAAM,GAAG,QAAQ,IAAI,qBAAqB;;CAG3C,MAAM,eAAe,MAAM,GAAG,IAC7B,gBAAG,0CAA0CA,iBAAI,WAAW,gBAAgB,GAC5E;AAED,KAAI,OAAO,WAAW,YAAY,OAAO,MAAM;AAC9C,MAAI,aAAa,OAChB,QAAO,EAAE,UAAU,sBAA+B;AAGnD,MAAI,WAAW,SAAS,EACvB,QAAO,EAAE,UAAU,mBAA4B;EAGhD,MAAM,CAAC,aAAa;AAEpB,MAAI,CAAC,UAAW;AAEhB,QAAM,GAAG,IACR,gBAAG,eACFA,iBAAI,WAAW,gBAAgB,CAC/B,uDAAuD,UAAU,KAAK,IAAI,UAAU,aAAa,IAAI,UAAU,KAAK,qBACpH,IAAI,MAAM,EAAC,aAAa,CACxB,GACC,cAAc,CAChB;AACD;;CAGD,MAAM,8DAAqC;EAAE,iBAAiB;EAAY;EAAc,CAAC;CACzF,MAAM,mBAAmB,EAAE;AAC3B,MAAK,MAAM,aAAa,iBAAiB;AACxC,OAAK,MAAM,QAAQ,UAAU,IAC5B,kBAAiB,KAAK,GAAG,IAAIA,iBAAI,IAAI,KAAK,CAAC,CAAC;AAG7C,mBAAiB,KAChB,GAAG,IACF,gBAAG,eACFA,iBAAI,WAAW,gBAAgB,CAC/B,uDAAuD,UAAU,KAAK,IAAI,UAAU,aAAa,IAAI,UAAU,KAAK,qBACpH,IAAI,MAAM,EAAC,aAAa,CACxB,GACC,cAAc,CAChB,CACD;;AAGF,KAAI,iBAAiB,SAAS,EAC7B,OAAM,GAAG,QAAQ,MAAM,iBAAiB"}
1
+ {"version":3,"file":"migrator.cjs","names":["sql"],"sources":["../../src/d1/migrator.ts"],"sourcesContent":["import type { MigrationConfig, MigratorInitFailResponse } from '~/migrator.ts';\nimport { readMigrationFiles } from '~/migrator.ts';\nimport { getMigrationsToRun } from '~/migrator.utils.ts';\nimport type { AnyRelations } from '~/relations.ts';\nimport { sql } from '~/sql/sql.ts';\nimport { upgradeAsyncIfNeeded } from '~/up-migrations/sqlite.ts';\nimport type { DrizzleD1Database } from './driver.ts';\n\nexport async function migrate<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(\n\tdb: DrizzleD1Database<TSchema, TRelations>,\n\tconfig: MigrationConfig,\n): Promise<void | MigratorInitFailResponse> {\n\tconst migrations = readMigrationFiles(config);\n\tconst migrationsTable = config.migrationsTable ?? '__drizzle_migrations';\n\n\tconst { newDb } = await upgradeAsyncIfNeeded(migrationsTable, db, migrations);\n\n\tif (newDb) {\n\t\tconst migrationTableCreate = sql`\n\t\tCREATE TABLE IF NOT EXISTS ${sql.identifier(migrationsTable)} (\n\t\t\tid INTEGER PRIMARY KEY,\n\t\t\thash text NOT NULL,\n\t\t\tcreated_at numeric,\n\t\t\tname text,\n\t\t\tapplied_at TEXT\n\t\t)\n\t`;\n\t\tawait db.session.run(migrationTableCreate);\n\t}\n\n\tconst dbMigrations = await db.all<{ id: number; hash: string; created_at: string; name: string | null }>(\n\t\tsql`SELECT id, hash, created_at, name FROM ${sql.identifier(migrationsTable)}`,\n\t);\n\n\tif (typeof config === 'object' && config.init) {\n\t\tif (dbMigrations.length) {\n\t\t\treturn { exitCode: 'databaseMigrations' as const };\n\t\t}\n\n\t\tif (migrations.length > 1) {\n\t\t\treturn { exitCode: 'localMigrations' as const };\n\t\t}\n\n\t\tconst [migration] = migrations;\n\n\t\tif (!migration) return;\n\n\t\tawait db.run(\n\t\t\tsql`INSERT INTO ${\n\t\t\t\tsql.identifier(migrationsTable)\n\t\t\t} (\"hash\", \"created_at\", \"name\", \"applied_at\") values(${migration.hash}, ${migration.folderMillis}, ${migration.name}, ${\n\t\t\t\tnew Date().toISOString()\n\t\t\t})`\n\t\t\t\t.inlineParams(),\n\t\t);\n\t\treturn;\n\t}\n\n\tconst migrationsToRun = getMigrationsToRun({ localMigrations: migrations, dbMigrations });\n\tconst statementToBatch = [];\n\tfor (const migration of migrationsToRun) {\n\t\tfor (const stmt of migration.sql) {\n\t\t\tstatementToBatch.push(db.run(sql.raw(stmt)));\n\t\t}\n\n\t\tstatementToBatch.push(\n\t\t\tdb.run(\n\t\t\t\tsql`INSERT INTO ${\n\t\t\t\t\tsql.identifier(migrationsTable)\n\t\t\t\t} (\"hash\", \"created_at\", \"name\", \"applied_at\") values(${migration.hash}, ${migration.folderMillis}, ${migration.name}, ${\n\t\t\t\t\tnew Date().toISOString()\n\t\t\t\t})`\n\t\t\t\t\t.inlineParams(),\n\t\t\t),\n\t\t);\n\t}\n\n\tif (statementToBatch.length > 0) {\n\t\tawait db.session.batch(statementToBatch);\n\t}\n}\n"],"mappings":";;;;;;;;AAQA,eAAsB,QACrB,IACA,QAC2C;CAC3C,MAAM,mDAAgC,OAAO;CAC7C,MAAM,kBAAkB,OAAO,mBAAmB;CAElD,MAAM,EAAE,UAAU,0DAA2B,iBAAiB,IAAI,WAAW;AAE7E,KAAI,OAAO;EACV,MAAM,uBAAuB,gBAAG;+BACHA,iBAAI,WAAW,gBAAgB,CAAC;;;;;;;;AAQ7D,QAAM,GAAG,QAAQ,IAAI,qBAAqB;;CAG3C,MAAM,eAAe,MAAM,GAAG,IAC7B,gBAAG,0CAA0CA,iBAAI,WAAW,gBAAgB,GAC5E;AAED,KAAI,OAAO,WAAW,YAAY,OAAO,MAAM;AAC9C,MAAI,aAAa,OAChB,QAAO,EAAE,UAAU,sBAA+B;AAGnD,MAAI,WAAW,SAAS,EACvB,QAAO,EAAE,UAAU,mBAA4B;EAGhD,MAAM,CAAC,aAAa;AAEpB,MAAI,CAAC,UAAW;AAEhB,QAAM,GAAG,IACR,gBAAG,eACFA,iBAAI,WAAW,gBAAgB,CAC/B,uDAAuD,UAAU,KAAK,IAAI,UAAU,aAAa,IAAI,UAAU,KAAK,qBACpH,IAAI,MAAM,EAAC,aAAa,CACxB,GACC,cAAc,CAChB;AACD;;CAGD,MAAM,8DAAqC;EAAE,iBAAiB;EAAY;EAAc,CAAC;CACzF,MAAM,mBAAmB,EAAE;AAC3B,MAAK,MAAM,aAAa,iBAAiB;AACxC,OAAK,MAAM,QAAQ,UAAU,IAC5B,kBAAiB,KAAK,GAAG,IAAIA,iBAAI,IAAI,KAAK,CAAC,CAAC;AAG7C,mBAAiB,KAChB,GAAG,IACF,gBAAG,eACFA,iBAAI,WAAW,gBAAgB,CAC/B,uDAAuD,UAAU,KAAK,IAAI,UAAU,aAAa,IAAI,UAAU,KAAK,qBACpH,IAAI,MAAM,EAAC,aAAa,CACxB,GACC,cAAc,CAChB,CACD;;AAGF,KAAI,iBAAiB,SAAS,EAC7B,OAAM,GAAG,QAAQ,MAAM,iBAAiB"}
package/d1/migrator.js CHANGED
@@ -7,7 +7,7 @@ import { upgradeAsyncIfNeeded } from "../up-migrations/sqlite.js";
7
7
  async function migrate(db, config) {
8
8
  const migrations = readMigrationFiles(config);
9
9
  const migrationsTable = config.migrationsTable ?? "__drizzle_migrations";
10
- const { newDb } = await upgradeAsyncIfNeeded(migrationsTable, db.session, migrations);
10
+ const { newDb } = await upgradeAsyncIfNeeded(migrationsTable, db, migrations);
11
11
  if (newDb) {
12
12
  const migrationTableCreate = sql`
13
13
  CREATE TABLE IF NOT EXISTS ${sql.identifier(migrationsTable)} (
@@ -1 +1 @@
1
- {"version":3,"file":"migrator.js","names":[],"sources":["../../src/d1/migrator.ts"],"sourcesContent":["import type { MigrationConfig, MigratorInitFailResponse } from '~/migrator.ts';\nimport { readMigrationFiles } from '~/migrator.ts';\nimport { getMigrationsToRun } from '~/migrator.utils.ts';\nimport type { AnyRelations } from '~/relations.ts';\nimport { sql } from '~/sql/sql.ts';\nimport { upgradeAsyncIfNeeded } from '~/up-migrations/sqlite.ts';\nimport type { DrizzleD1Database } from './driver.ts';\n\nexport async function migrate<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(\n\tdb: DrizzleD1Database<TSchema, TRelations>,\n\tconfig: MigrationConfig,\n): Promise<void | MigratorInitFailResponse> {\n\tconst migrations = readMigrationFiles(config);\n\tconst migrationsTable = config.migrationsTable ?? '__drizzle_migrations';\n\n\tconst { newDb } = await upgradeAsyncIfNeeded(migrationsTable, db.session, migrations);\n\n\tif (newDb) {\n\t\tconst migrationTableCreate = sql`\n\t\tCREATE TABLE IF NOT EXISTS ${sql.identifier(migrationsTable)} (\n\t\t\tid INTEGER PRIMARY KEY,\n\t\t\thash text NOT NULL,\n\t\t\tcreated_at numeric,\n\t\t\tname text,\n\t\t\tapplied_at TEXT\n\t\t)\n\t`;\n\t\tawait db.session.run(migrationTableCreate);\n\t}\n\n\tconst dbMigrations = await db.all<{ id: number; hash: string; created_at: string; name: string | null }>(\n\t\tsql`SELECT id, hash, created_at, name FROM ${sql.identifier(migrationsTable)}`,\n\t);\n\n\tif (typeof config === 'object' && config.init) {\n\t\tif (dbMigrations.length) {\n\t\t\treturn { exitCode: 'databaseMigrations' as const };\n\t\t}\n\n\t\tif (migrations.length > 1) {\n\t\t\treturn { exitCode: 'localMigrations' as const };\n\t\t}\n\n\t\tconst [migration] = migrations;\n\n\t\tif (!migration) return;\n\n\t\tawait db.run(\n\t\t\tsql`INSERT INTO ${\n\t\t\t\tsql.identifier(migrationsTable)\n\t\t\t} (\"hash\", \"created_at\", \"name\", \"applied_at\") values(${migration.hash}, ${migration.folderMillis}, ${migration.name}, ${\n\t\t\t\tnew Date().toISOString()\n\t\t\t})`\n\t\t\t\t.inlineParams(),\n\t\t);\n\t\treturn;\n\t}\n\n\tconst migrationsToRun = getMigrationsToRun({ localMigrations: migrations, dbMigrations });\n\tconst statementToBatch = [];\n\tfor (const migration of migrationsToRun) {\n\t\tfor (const stmt of migration.sql) {\n\t\t\tstatementToBatch.push(db.run(sql.raw(stmt)));\n\t\t}\n\n\t\tstatementToBatch.push(\n\t\t\tdb.run(\n\t\t\t\tsql`INSERT INTO ${\n\t\t\t\t\tsql.identifier(migrationsTable)\n\t\t\t\t} (\"hash\", \"created_at\", \"name\", \"applied_at\") values(${migration.hash}, ${migration.folderMillis}, ${migration.name}, ${\n\t\t\t\t\tnew Date().toISOString()\n\t\t\t\t})`\n\t\t\t\t\t.inlineParams(),\n\t\t\t),\n\t\t);\n\t}\n\n\tif (statementToBatch.length > 0) {\n\t\tawait db.session.batch(statementToBatch);\n\t}\n}\n"],"mappings":";;;;;;AAQA,eAAsB,QACrB,IACA,QAC2C;CAC3C,MAAM,aAAa,mBAAmB,OAAO;CAC7C,MAAM,kBAAkB,OAAO,mBAAmB;CAElD,MAAM,EAAE,UAAU,MAAM,qBAAqB,iBAAiB,GAAG,SAAS,WAAW;AAErF,KAAI,OAAO;EACV,MAAM,uBAAuB,GAAG;+BACH,IAAI,WAAW,gBAAgB,CAAC;;;;;;;;AAQ7D,QAAM,GAAG,QAAQ,IAAI,qBAAqB;;CAG3C,MAAM,eAAe,MAAM,GAAG,IAC7B,GAAG,0CAA0C,IAAI,WAAW,gBAAgB,GAC5E;AAED,KAAI,OAAO,WAAW,YAAY,OAAO,MAAM;AAC9C,MAAI,aAAa,OAChB,QAAO,EAAE,UAAU,sBAA+B;AAGnD,MAAI,WAAW,SAAS,EACvB,QAAO,EAAE,UAAU,mBAA4B;EAGhD,MAAM,CAAC,aAAa;AAEpB,MAAI,CAAC,UAAW;AAEhB,QAAM,GAAG,IACR,GAAG,eACF,IAAI,WAAW,gBAAgB,CAC/B,uDAAuD,UAAU,KAAK,IAAI,UAAU,aAAa,IAAI,UAAU,KAAK,qBACpH,IAAI,MAAM,EAAC,aAAa,CACxB,GACC,cAAc,CAChB;AACD;;CAGD,MAAM,kBAAkB,mBAAmB;EAAE,iBAAiB;EAAY;EAAc,CAAC;CACzF,MAAM,mBAAmB,EAAE;AAC3B,MAAK,MAAM,aAAa,iBAAiB;AACxC,OAAK,MAAM,QAAQ,UAAU,IAC5B,kBAAiB,KAAK,GAAG,IAAI,IAAI,IAAI,KAAK,CAAC,CAAC;AAG7C,mBAAiB,KAChB,GAAG,IACF,GAAG,eACF,IAAI,WAAW,gBAAgB,CAC/B,uDAAuD,UAAU,KAAK,IAAI,UAAU,aAAa,IAAI,UAAU,KAAK,qBACpH,IAAI,MAAM,EAAC,aAAa,CACxB,GACC,cAAc,CAChB,CACD;;AAGF,KAAI,iBAAiB,SAAS,EAC7B,OAAM,GAAG,QAAQ,MAAM,iBAAiB"}
1
+ {"version":3,"file":"migrator.js","names":[],"sources":["../../src/d1/migrator.ts"],"sourcesContent":["import type { MigrationConfig, MigratorInitFailResponse } from '~/migrator.ts';\nimport { readMigrationFiles } from '~/migrator.ts';\nimport { getMigrationsToRun } from '~/migrator.utils.ts';\nimport type { AnyRelations } from '~/relations.ts';\nimport { sql } from '~/sql/sql.ts';\nimport { upgradeAsyncIfNeeded } from '~/up-migrations/sqlite.ts';\nimport type { DrizzleD1Database } from './driver.ts';\n\nexport async function migrate<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(\n\tdb: DrizzleD1Database<TSchema, TRelations>,\n\tconfig: MigrationConfig,\n): Promise<void | MigratorInitFailResponse> {\n\tconst migrations = readMigrationFiles(config);\n\tconst migrationsTable = config.migrationsTable ?? '__drizzle_migrations';\n\n\tconst { newDb } = await upgradeAsyncIfNeeded(migrationsTable, db, migrations);\n\n\tif (newDb) {\n\t\tconst migrationTableCreate = sql`\n\t\tCREATE TABLE IF NOT EXISTS ${sql.identifier(migrationsTable)} (\n\t\t\tid INTEGER PRIMARY KEY,\n\t\t\thash text NOT NULL,\n\t\t\tcreated_at numeric,\n\t\t\tname text,\n\t\t\tapplied_at TEXT\n\t\t)\n\t`;\n\t\tawait db.session.run(migrationTableCreate);\n\t}\n\n\tconst dbMigrations = await db.all<{ id: number; hash: string; created_at: string; name: string | null }>(\n\t\tsql`SELECT id, hash, created_at, name FROM ${sql.identifier(migrationsTable)}`,\n\t);\n\n\tif (typeof config === 'object' && config.init) {\n\t\tif (dbMigrations.length) {\n\t\t\treturn { exitCode: 'databaseMigrations' as const };\n\t\t}\n\n\t\tif (migrations.length > 1) {\n\t\t\treturn { exitCode: 'localMigrations' as const };\n\t\t}\n\n\t\tconst [migration] = migrations;\n\n\t\tif (!migration) return;\n\n\t\tawait db.run(\n\t\t\tsql`INSERT INTO ${\n\t\t\t\tsql.identifier(migrationsTable)\n\t\t\t} (\"hash\", \"created_at\", \"name\", \"applied_at\") values(${migration.hash}, ${migration.folderMillis}, ${migration.name}, ${\n\t\t\t\tnew Date().toISOString()\n\t\t\t})`\n\t\t\t\t.inlineParams(),\n\t\t);\n\t\treturn;\n\t}\n\n\tconst migrationsToRun = getMigrationsToRun({ localMigrations: migrations, dbMigrations });\n\tconst statementToBatch = [];\n\tfor (const migration of migrationsToRun) {\n\t\tfor (const stmt of migration.sql) {\n\t\t\tstatementToBatch.push(db.run(sql.raw(stmt)));\n\t\t}\n\n\t\tstatementToBatch.push(\n\t\t\tdb.run(\n\t\t\t\tsql`INSERT INTO ${\n\t\t\t\t\tsql.identifier(migrationsTable)\n\t\t\t\t} (\"hash\", \"created_at\", \"name\", \"applied_at\") values(${migration.hash}, ${migration.folderMillis}, ${migration.name}, ${\n\t\t\t\t\tnew Date().toISOString()\n\t\t\t\t})`\n\t\t\t\t\t.inlineParams(),\n\t\t\t),\n\t\t);\n\t}\n\n\tif (statementToBatch.length > 0) {\n\t\tawait db.session.batch(statementToBatch);\n\t}\n}\n"],"mappings":";;;;;;AAQA,eAAsB,QACrB,IACA,QAC2C;CAC3C,MAAM,aAAa,mBAAmB,OAAO;CAC7C,MAAM,kBAAkB,OAAO,mBAAmB;CAElD,MAAM,EAAE,UAAU,MAAM,qBAAqB,iBAAiB,IAAI,WAAW;AAE7E,KAAI,OAAO;EACV,MAAM,uBAAuB,GAAG;+BACH,IAAI,WAAW,gBAAgB,CAAC;;;;;;;;AAQ7D,QAAM,GAAG,QAAQ,IAAI,qBAAqB;;CAG3C,MAAM,eAAe,MAAM,GAAG,IAC7B,GAAG,0CAA0C,IAAI,WAAW,gBAAgB,GAC5E;AAED,KAAI,OAAO,WAAW,YAAY,OAAO,MAAM;AAC9C,MAAI,aAAa,OAChB,QAAO,EAAE,UAAU,sBAA+B;AAGnD,MAAI,WAAW,SAAS,EACvB,QAAO,EAAE,UAAU,mBAA4B;EAGhD,MAAM,CAAC,aAAa;AAEpB,MAAI,CAAC,UAAW;AAEhB,QAAM,GAAG,IACR,GAAG,eACF,IAAI,WAAW,gBAAgB,CAC/B,uDAAuD,UAAU,KAAK,IAAI,UAAU,aAAa,IAAI,UAAU,KAAK,qBACpH,IAAI,MAAM,EAAC,aAAa,CACxB,GACC,cAAc,CAChB;AACD;;CAGD,MAAM,kBAAkB,mBAAmB;EAAE,iBAAiB;EAAY;EAAc,CAAC;CACzF,MAAM,mBAAmB,EAAE;AAC3B,MAAK,MAAM,aAAa,iBAAiB;AACxC,OAAK,MAAM,QAAQ,UAAU,IAC5B,kBAAiB,KAAK,GAAG,IAAI,IAAI,IAAI,KAAK,CAAC,CAAC;AAG7C,mBAAiB,KAChB,GAAG,IACF,GAAG,eACF,IAAI,WAAW,gBAAgB,CAC/B,uDAAuD,UAAU,KAAK,IAAI,UAAU,aAAa,IAAI,UAAU,KAAK,qBACpH,IAAI,MAAM,EAAC,aAAa,CACxB,GACC,cAAc,CAChB,CACD;;AAGF,KAAI,iBAAiB,SAAS,EAC7B,OAAM,GAAG,QAAQ,MAAM,iBAAiB"}
@@ -1,8 +1,8 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
2
  const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
3
3
  let __migrator_utils_ts = require("../migrator.utils.cjs");
4
- let __up_migrations_sqlite_ts = require("../up-migrations/sqlite.cjs");
5
4
  let __sql_index_ts = require("../sql/index.cjs");
5
+ let __up_migrations_sqlite_ts = require("../up-migrations/sqlite.cjs");
6
6
 
7
7
  //#region src/durable-sqlite/migrator.ts
8
8
  function readMigrationFiles({ migrations }) {
@@ -1,6 +1,6 @@
1
1
  import { formatToMillis, getMigrationsToRun } from "../migrator.utils.js";
2
- import { upgradeSyncIfNeeded } from "../up-migrations/sqlite.js";
3
2
  import { sql } from "../sql/index.js";
3
+ import { upgradeSyncIfNeeded } from "../up-migrations/sqlite.js";
4
4
 
5
5
  //#region src/durable-sqlite/migrator.ts
6
6
  function readMigrationFiles({ migrations }) {
@@ -9,7 +9,7 @@ let __up_migrations_sqlite_ts = require("../up-migrations/sqlite.cjs");
9
9
  async function migrate(db, config) {
10
10
  const migrations = (0, __migrator_ts.readMigrationFiles)(config);
11
11
  const migrationsTable = config.migrationsTable ?? "__drizzle_migrations";
12
- const { newDb } = await (0, __up_migrations_sqlite_ts.upgradeAsyncIfNeeded)(migrationsTable, db.session, migrations);
12
+ const { newDb } = await (0, __up_migrations_sqlite_ts.upgradeAsyncIfNeeded)(migrationsTable, db, migrations);
13
13
  if (newDb) {
14
14
  const migrationTableCreate = __sql_sql_ts.sql`
15
15
  CREATE TABLE IF NOT EXISTS ${__sql_sql_ts.sql.identifier(migrationsTable)} (
@@ -1 +1 @@
1
- {"version":3,"file":"migrator.cjs","names":["sql"],"sources":["../../src/libsql/migrator.ts"],"sourcesContent":["import type { MigrationConfig } from '~/migrator.ts';\nimport { readMigrationFiles } from '~/migrator.ts';\nimport { getMigrationsToRun } from '~/migrator.utils.ts';\nimport type { AnyRelations } from '~/relations.ts';\nimport { sql } from '~/sql/sql.ts';\nimport { upgradeAsyncIfNeeded } from '~/up-migrations/sqlite.ts';\nimport type { LibSQLDatabase } from './driver.ts';\n\nexport async function migrate<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(\n\tdb: LibSQLDatabase<TSchema, TRelations>,\n\tconfig: MigrationConfig,\n) {\n\tconst migrations = readMigrationFiles(config);\n\tconst migrationsTable = config.migrationsTable ?? '__drizzle_migrations';\n\n\tconst { newDb } = await upgradeAsyncIfNeeded(migrationsTable, db.session, migrations);\n\n\tif (newDb) {\n\t\tconst migrationTableCreate = sql`\n\t\tCREATE TABLE IF NOT EXISTS ${sql.identifier(migrationsTable)} (\n\t\t\tid INTEGER PRIMARY KEY,\n\t\t\thash text NOT NULL,\n\t\t\tcreated_at numeric,\n\t\t\tname text,\n\t\t\tapplied_at TEXT\n\t\t)\n\t`;\n\t\tawait db.session.run(migrationTableCreate);\n\t}\n\n\tconst dbMigrations = await db.all<{ id: number; hash: string; created_at: string; name: string | null }>(\n\t\tsql`SELECT id, hash, created_at, name FROM ${sql.identifier(migrationsTable)}`,\n\t);\n\n\tif (config.init) {\n\t\tif (dbMigrations.length) {\n\t\t\treturn { exitCode: 'databaseMigrations' as const };\n\t\t}\n\n\t\tif (migrations.length > 1) {\n\t\t\treturn { exitCode: 'localMigrations' as const };\n\t\t}\n\n\t\tconst [migration] = migrations;\n\n\t\tif (!migration) return;\n\n\t\tawait db.run(\n\t\t\tsql`insert into ${\n\t\t\t\tsql.identifier(migrationsTable)\n\t\t\t} (\"hash\", \"created_at\", \"name\", \"applied_at\") values(${migration.hash}, ${migration.folderMillis}, ${migration.name}, ${\n\t\t\t\tnew Date().toISOString()\n\t\t\t})`,\n\t\t);\n\n\t\treturn;\n\t}\n\n\tconst migrationsToRun = getMigrationsToRun({ localMigrations: migrations, dbMigrations });\n\tconst statementToBatch = [];\n\tfor (const migration of migrationsToRun) {\n\t\tfor (const stmt of migration.sql) {\n\t\t\tstatementToBatch.push(db.run(sql.raw(stmt)));\n\t\t}\n\n\t\tstatementToBatch.push(\n\t\t\tdb.run(\n\t\t\t\tsql`INSERT INTO ${\n\t\t\t\t\tsql.identifier(migrationsTable)\n\t\t\t\t} (\"hash\", \"created_at\", \"name\", \"applied_at\") values(${migration.hash}, ${migration.folderMillis}, ${migration.name}, ${\n\t\t\t\t\tnew Date().toISOString()\n\t\t\t\t})`,\n\t\t\t),\n\t\t);\n\t}\n\n\tawait db.session.migrate(statementToBatch);\n\n\treturn;\n}\n"],"mappings":";;;;;;;;AAQA,eAAsB,QACrB,IACA,QACC;CACD,MAAM,mDAAgC,OAAO;CAC7C,MAAM,kBAAkB,OAAO,mBAAmB;CAElD,MAAM,EAAE,UAAU,0DAA2B,iBAAiB,GAAG,SAAS,WAAW;AAErF,KAAI,OAAO;EACV,MAAM,uBAAuB,gBAAG;+BACHA,iBAAI,WAAW,gBAAgB,CAAC;;;;;;;;AAQ7D,QAAM,GAAG,QAAQ,IAAI,qBAAqB;;CAG3C,MAAM,eAAe,MAAM,GAAG,IAC7B,gBAAG,0CAA0CA,iBAAI,WAAW,gBAAgB,GAC5E;AAED,KAAI,OAAO,MAAM;AAChB,MAAI,aAAa,OAChB,QAAO,EAAE,UAAU,sBAA+B;AAGnD,MAAI,WAAW,SAAS,EACvB,QAAO,EAAE,UAAU,mBAA4B;EAGhD,MAAM,CAAC,aAAa;AAEpB,MAAI,CAAC,UAAW;AAEhB,QAAM,GAAG,IACR,gBAAG,eACFA,iBAAI,WAAW,gBAAgB,CAC/B,uDAAuD,UAAU,KAAK,IAAI,UAAU,aAAa,IAAI,UAAU,KAAK,qBACpH,IAAI,MAAM,EAAC,aAAa,CACxB,GACD;AAED;;CAGD,MAAM,8DAAqC;EAAE,iBAAiB;EAAY;EAAc,CAAC;CACzF,MAAM,mBAAmB,EAAE;AAC3B,MAAK,MAAM,aAAa,iBAAiB;AACxC,OAAK,MAAM,QAAQ,UAAU,IAC5B,kBAAiB,KAAK,GAAG,IAAIA,iBAAI,IAAI,KAAK,CAAC,CAAC;AAG7C,mBAAiB,KAChB,GAAG,IACF,gBAAG,eACFA,iBAAI,WAAW,gBAAgB,CAC/B,uDAAuD,UAAU,KAAK,IAAI,UAAU,aAAa,IAAI,UAAU,KAAK,qBACpH,IAAI,MAAM,EAAC,aAAa,CACxB,GACD,CACD;;AAGF,OAAM,GAAG,QAAQ,QAAQ,iBAAiB"}
1
+ {"version":3,"file":"migrator.cjs","names":["sql"],"sources":["../../src/libsql/migrator.ts"],"sourcesContent":["import type { MigrationConfig } from '~/migrator.ts';\nimport { readMigrationFiles } from '~/migrator.ts';\nimport { getMigrationsToRun } from '~/migrator.utils.ts';\nimport type { AnyRelations } from '~/relations.ts';\nimport { sql } from '~/sql/sql.ts';\nimport { upgradeAsyncIfNeeded } from '~/up-migrations/sqlite.ts';\nimport type { LibSQLDatabase } from './driver.ts';\n\nexport async function migrate<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(\n\tdb: LibSQLDatabase<TSchema, TRelations>,\n\tconfig: MigrationConfig,\n) {\n\tconst migrations = readMigrationFiles(config);\n\tconst migrationsTable = config.migrationsTable ?? '__drizzle_migrations';\n\n\tconst { newDb } = await upgradeAsyncIfNeeded(migrationsTable, db, migrations);\n\n\tif (newDb) {\n\t\tconst migrationTableCreate = sql`\n\t\tCREATE TABLE IF NOT EXISTS ${sql.identifier(migrationsTable)} (\n\t\t\tid INTEGER PRIMARY KEY,\n\t\t\thash text NOT NULL,\n\t\t\tcreated_at numeric,\n\t\t\tname text,\n\t\t\tapplied_at TEXT\n\t\t)\n\t`;\n\t\tawait db.session.run(migrationTableCreate);\n\t}\n\n\tconst dbMigrations = await db.all<{ id: number; hash: string; created_at: string; name: string | null }>(\n\t\tsql`SELECT id, hash, created_at, name FROM ${sql.identifier(migrationsTable)}`,\n\t);\n\n\tif (config.init) {\n\t\tif (dbMigrations.length) {\n\t\t\treturn { exitCode: 'databaseMigrations' as const };\n\t\t}\n\n\t\tif (migrations.length > 1) {\n\t\t\treturn { exitCode: 'localMigrations' as const };\n\t\t}\n\n\t\tconst [migration] = migrations;\n\n\t\tif (!migration) return;\n\n\t\tawait db.run(\n\t\t\tsql`insert into ${\n\t\t\t\tsql.identifier(migrationsTable)\n\t\t\t} (\"hash\", \"created_at\", \"name\", \"applied_at\") values(${migration.hash}, ${migration.folderMillis}, ${migration.name}, ${\n\t\t\t\tnew Date().toISOString()\n\t\t\t})`,\n\t\t);\n\n\t\treturn;\n\t}\n\n\tconst migrationsToRun = getMigrationsToRun({ localMigrations: migrations, dbMigrations });\n\tconst statementToBatch = [];\n\tfor (const migration of migrationsToRun) {\n\t\tfor (const stmt of migration.sql) {\n\t\t\tstatementToBatch.push(db.run(sql.raw(stmt)));\n\t\t}\n\n\t\tstatementToBatch.push(\n\t\t\tdb.run(\n\t\t\t\tsql`INSERT INTO ${\n\t\t\t\t\tsql.identifier(migrationsTable)\n\t\t\t\t} (\"hash\", \"created_at\", \"name\", \"applied_at\") values(${migration.hash}, ${migration.folderMillis}, ${migration.name}, ${\n\t\t\t\t\tnew Date().toISOString()\n\t\t\t\t})`,\n\t\t\t),\n\t\t);\n\t}\n\n\tawait db.session.migrate(statementToBatch);\n\n\treturn;\n}\n"],"mappings":";;;;;;;;AAQA,eAAsB,QACrB,IACA,QACC;CACD,MAAM,mDAAgC,OAAO;CAC7C,MAAM,kBAAkB,OAAO,mBAAmB;CAElD,MAAM,EAAE,UAAU,0DAA2B,iBAAiB,IAAI,WAAW;AAE7E,KAAI,OAAO;EACV,MAAM,uBAAuB,gBAAG;+BACHA,iBAAI,WAAW,gBAAgB,CAAC;;;;;;;;AAQ7D,QAAM,GAAG,QAAQ,IAAI,qBAAqB;;CAG3C,MAAM,eAAe,MAAM,GAAG,IAC7B,gBAAG,0CAA0CA,iBAAI,WAAW,gBAAgB,GAC5E;AAED,KAAI,OAAO,MAAM;AAChB,MAAI,aAAa,OAChB,QAAO,EAAE,UAAU,sBAA+B;AAGnD,MAAI,WAAW,SAAS,EACvB,QAAO,EAAE,UAAU,mBAA4B;EAGhD,MAAM,CAAC,aAAa;AAEpB,MAAI,CAAC,UAAW;AAEhB,QAAM,GAAG,IACR,gBAAG,eACFA,iBAAI,WAAW,gBAAgB,CAC/B,uDAAuD,UAAU,KAAK,IAAI,UAAU,aAAa,IAAI,UAAU,KAAK,qBACpH,IAAI,MAAM,EAAC,aAAa,CACxB,GACD;AAED;;CAGD,MAAM,8DAAqC;EAAE,iBAAiB;EAAY;EAAc,CAAC;CACzF,MAAM,mBAAmB,EAAE;AAC3B,MAAK,MAAM,aAAa,iBAAiB;AACxC,OAAK,MAAM,QAAQ,UAAU,IAC5B,kBAAiB,KAAK,GAAG,IAAIA,iBAAI,IAAI,KAAK,CAAC,CAAC;AAG7C,mBAAiB,KAChB,GAAG,IACF,gBAAG,eACFA,iBAAI,WAAW,gBAAgB,CAC/B,uDAAuD,UAAU,KAAK,IAAI,UAAU,aAAa,IAAI,UAAU,KAAK,qBACpH,IAAI,MAAM,EAAC,aAAa,CACxB,GACD,CACD;;AAGF,OAAM,GAAG,QAAQ,QAAQ,iBAAiB"}
@@ -7,7 +7,7 @@ import { upgradeAsyncIfNeeded } from "../up-migrations/sqlite.js";
7
7
  async function migrate(db, config) {
8
8
  const migrations = readMigrationFiles(config);
9
9
  const migrationsTable = config.migrationsTable ?? "__drizzle_migrations";
10
- const { newDb } = await upgradeAsyncIfNeeded(migrationsTable, db.session, migrations);
10
+ const { newDb } = await upgradeAsyncIfNeeded(migrationsTable, db, migrations);
11
11
  if (newDb) {
12
12
  const migrationTableCreate = sql`
13
13
  CREATE TABLE IF NOT EXISTS ${sql.identifier(migrationsTable)} (
@@ -1 +1 @@
1
- {"version":3,"file":"migrator.js","names":[],"sources":["../../src/libsql/migrator.ts"],"sourcesContent":["import type { MigrationConfig } from '~/migrator.ts';\nimport { readMigrationFiles } from '~/migrator.ts';\nimport { getMigrationsToRun } from '~/migrator.utils.ts';\nimport type { AnyRelations } from '~/relations.ts';\nimport { sql } from '~/sql/sql.ts';\nimport { upgradeAsyncIfNeeded } from '~/up-migrations/sqlite.ts';\nimport type { LibSQLDatabase } from './driver.ts';\n\nexport async function migrate<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(\n\tdb: LibSQLDatabase<TSchema, TRelations>,\n\tconfig: MigrationConfig,\n) {\n\tconst migrations = readMigrationFiles(config);\n\tconst migrationsTable = config.migrationsTable ?? '__drizzle_migrations';\n\n\tconst { newDb } = await upgradeAsyncIfNeeded(migrationsTable, db.session, migrations);\n\n\tif (newDb) {\n\t\tconst migrationTableCreate = sql`\n\t\tCREATE TABLE IF NOT EXISTS ${sql.identifier(migrationsTable)} (\n\t\t\tid INTEGER PRIMARY KEY,\n\t\t\thash text NOT NULL,\n\t\t\tcreated_at numeric,\n\t\t\tname text,\n\t\t\tapplied_at TEXT\n\t\t)\n\t`;\n\t\tawait db.session.run(migrationTableCreate);\n\t}\n\n\tconst dbMigrations = await db.all<{ id: number; hash: string; created_at: string; name: string | null }>(\n\t\tsql`SELECT id, hash, created_at, name FROM ${sql.identifier(migrationsTable)}`,\n\t);\n\n\tif (config.init) {\n\t\tif (dbMigrations.length) {\n\t\t\treturn { exitCode: 'databaseMigrations' as const };\n\t\t}\n\n\t\tif (migrations.length > 1) {\n\t\t\treturn { exitCode: 'localMigrations' as const };\n\t\t}\n\n\t\tconst [migration] = migrations;\n\n\t\tif (!migration) return;\n\n\t\tawait db.run(\n\t\t\tsql`insert into ${\n\t\t\t\tsql.identifier(migrationsTable)\n\t\t\t} (\"hash\", \"created_at\", \"name\", \"applied_at\") values(${migration.hash}, ${migration.folderMillis}, ${migration.name}, ${\n\t\t\t\tnew Date().toISOString()\n\t\t\t})`,\n\t\t);\n\n\t\treturn;\n\t}\n\n\tconst migrationsToRun = getMigrationsToRun({ localMigrations: migrations, dbMigrations });\n\tconst statementToBatch = [];\n\tfor (const migration of migrationsToRun) {\n\t\tfor (const stmt of migration.sql) {\n\t\t\tstatementToBatch.push(db.run(sql.raw(stmt)));\n\t\t}\n\n\t\tstatementToBatch.push(\n\t\t\tdb.run(\n\t\t\t\tsql`INSERT INTO ${\n\t\t\t\t\tsql.identifier(migrationsTable)\n\t\t\t\t} (\"hash\", \"created_at\", \"name\", \"applied_at\") values(${migration.hash}, ${migration.folderMillis}, ${migration.name}, ${\n\t\t\t\t\tnew Date().toISOString()\n\t\t\t\t})`,\n\t\t\t),\n\t\t);\n\t}\n\n\tawait db.session.migrate(statementToBatch);\n\n\treturn;\n}\n"],"mappings":";;;;;;AAQA,eAAsB,QACrB,IACA,QACC;CACD,MAAM,aAAa,mBAAmB,OAAO;CAC7C,MAAM,kBAAkB,OAAO,mBAAmB;CAElD,MAAM,EAAE,UAAU,MAAM,qBAAqB,iBAAiB,GAAG,SAAS,WAAW;AAErF,KAAI,OAAO;EACV,MAAM,uBAAuB,GAAG;+BACH,IAAI,WAAW,gBAAgB,CAAC;;;;;;;;AAQ7D,QAAM,GAAG,QAAQ,IAAI,qBAAqB;;CAG3C,MAAM,eAAe,MAAM,GAAG,IAC7B,GAAG,0CAA0C,IAAI,WAAW,gBAAgB,GAC5E;AAED,KAAI,OAAO,MAAM;AAChB,MAAI,aAAa,OAChB,QAAO,EAAE,UAAU,sBAA+B;AAGnD,MAAI,WAAW,SAAS,EACvB,QAAO,EAAE,UAAU,mBAA4B;EAGhD,MAAM,CAAC,aAAa;AAEpB,MAAI,CAAC,UAAW;AAEhB,QAAM,GAAG,IACR,GAAG,eACF,IAAI,WAAW,gBAAgB,CAC/B,uDAAuD,UAAU,KAAK,IAAI,UAAU,aAAa,IAAI,UAAU,KAAK,qBACpH,IAAI,MAAM,EAAC,aAAa,CACxB,GACD;AAED;;CAGD,MAAM,kBAAkB,mBAAmB;EAAE,iBAAiB;EAAY;EAAc,CAAC;CACzF,MAAM,mBAAmB,EAAE;AAC3B,MAAK,MAAM,aAAa,iBAAiB;AACxC,OAAK,MAAM,QAAQ,UAAU,IAC5B,kBAAiB,KAAK,GAAG,IAAI,IAAI,IAAI,KAAK,CAAC,CAAC;AAG7C,mBAAiB,KAChB,GAAG,IACF,GAAG,eACF,IAAI,WAAW,gBAAgB,CAC/B,uDAAuD,UAAU,KAAK,IAAI,UAAU,aAAa,IAAI,UAAU,KAAK,qBACpH,IAAI,MAAM,EAAC,aAAa,CACxB,GACD,CACD;;AAGF,OAAM,GAAG,QAAQ,QAAQ,iBAAiB"}
1
+ {"version":3,"file":"migrator.js","names":[],"sources":["../../src/libsql/migrator.ts"],"sourcesContent":["import type { MigrationConfig } from '~/migrator.ts';\nimport { readMigrationFiles } from '~/migrator.ts';\nimport { getMigrationsToRun } from '~/migrator.utils.ts';\nimport type { AnyRelations } from '~/relations.ts';\nimport { sql } from '~/sql/sql.ts';\nimport { upgradeAsyncIfNeeded } from '~/up-migrations/sqlite.ts';\nimport type { LibSQLDatabase } from './driver.ts';\n\nexport async function migrate<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(\n\tdb: LibSQLDatabase<TSchema, TRelations>,\n\tconfig: MigrationConfig,\n) {\n\tconst migrations = readMigrationFiles(config);\n\tconst migrationsTable = config.migrationsTable ?? '__drizzle_migrations';\n\n\tconst { newDb } = await upgradeAsyncIfNeeded(migrationsTable, db, migrations);\n\n\tif (newDb) {\n\t\tconst migrationTableCreate = sql`\n\t\tCREATE TABLE IF NOT EXISTS ${sql.identifier(migrationsTable)} (\n\t\t\tid INTEGER PRIMARY KEY,\n\t\t\thash text NOT NULL,\n\t\t\tcreated_at numeric,\n\t\t\tname text,\n\t\t\tapplied_at TEXT\n\t\t)\n\t`;\n\t\tawait db.session.run(migrationTableCreate);\n\t}\n\n\tconst dbMigrations = await db.all<{ id: number; hash: string; created_at: string; name: string | null }>(\n\t\tsql`SELECT id, hash, created_at, name FROM ${sql.identifier(migrationsTable)}`,\n\t);\n\n\tif (config.init) {\n\t\tif (dbMigrations.length) {\n\t\t\treturn { exitCode: 'databaseMigrations' as const };\n\t\t}\n\n\t\tif (migrations.length > 1) {\n\t\t\treturn { exitCode: 'localMigrations' as const };\n\t\t}\n\n\t\tconst [migration] = migrations;\n\n\t\tif (!migration) return;\n\n\t\tawait db.run(\n\t\t\tsql`insert into ${\n\t\t\t\tsql.identifier(migrationsTable)\n\t\t\t} (\"hash\", \"created_at\", \"name\", \"applied_at\") values(${migration.hash}, ${migration.folderMillis}, ${migration.name}, ${\n\t\t\t\tnew Date().toISOString()\n\t\t\t})`,\n\t\t);\n\n\t\treturn;\n\t}\n\n\tconst migrationsToRun = getMigrationsToRun({ localMigrations: migrations, dbMigrations });\n\tconst statementToBatch = [];\n\tfor (const migration of migrationsToRun) {\n\t\tfor (const stmt of migration.sql) {\n\t\t\tstatementToBatch.push(db.run(sql.raw(stmt)));\n\t\t}\n\n\t\tstatementToBatch.push(\n\t\t\tdb.run(\n\t\t\t\tsql`INSERT INTO ${\n\t\t\t\t\tsql.identifier(migrationsTable)\n\t\t\t\t} (\"hash\", \"created_at\", \"name\", \"applied_at\") values(${migration.hash}, ${migration.folderMillis}, ${migration.name}, ${\n\t\t\t\t\tnew Date().toISOString()\n\t\t\t\t})`,\n\t\t\t),\n\t\t);\n\t}\n\n\tawait db.session.migrate(statementToBatch);\n\n\treturn;\n}\n"],"mappings":";;;;;;AAQA,eAAsB,QACrB,IACA,QACC;CACD,MAAM,aAAa,mBAAmB,OAAO;CAC7C,MAAM,kBAAkB,OAAO,mBAAmB;CAElD,MAAM,EAAE,UAAU,MAAM,qBAAqB,iBAAiB,IAAI,WAAW;AAE7E,KAAI,OAAO;EACV,MAAM,uBAAuB,GAAG;+BACH,IAAI,WAAW,gBAAgB,CAAC;;;;;;;;AAQ7D,QAAM,GAAG,QAAQ,IAAI,qBAAqB;;CAG3C,MAAM,eAAe,MAAM,GAAG,IAC7B,GAAG,0CAA0C,IAAI,WAAW,gBAAgB,GAC5E;AAED,KAAI,OAAO,MAAM;AAChB,MAAI,aAAa,OAChB,QAAO,EAAE,UAAU,sBAA+B;AAGnD,MAAI,WAAW,SAAS,EACvB,QAAO,EAAE,UAAU,mBAA4B;EAGhD,MAAM,CAAC,aAAa;AAEpB,MAAI,CAAC,UAAW;AAEhB,QAAM,GAAG,IACR,GAAG,eACF,IAAI,WAAW,gBAAgB,CAC/B,uDAAuD,UAAU,KAAK,IAAI,UAAU,aAAa,IAAI,UAAU,KAAK,qBACpH,IAAI,MAAM,EAAC,aAAa,CACxB,GACD;AAED;;CAGD,MAAM,kBAAkB,mBAAmB;EAAE,iBAAiB;EAAY;EAAc,CAAC;CACzF,MAAM,mBAAmB,EAAE;AAC3B,MAAK,MAAM,aAAa,iBAAiB;AACxC,OAAK,MAAM,QAAQ,UAAU,IAC5B,kBAAiB,KAAK,GAAG,IAAI,IAAI,IAAI,KAAK,CAAC,CAAC;AAG7C,mBAAiB,KAChB,GAAG,IACF,GAAG,eACF,IAAI,WAAW,gBAAgB,CAC/B,uDAAuD,UAAU,KAAK,IAAI,UAAU,aAAa,IAAI,UAAU,KAAK,qBACpH,IAAI,MAAM,EAAC,aAAa,CACxB,GACD,CACD;;AAGF,OAAM,GAAG,QAAQ,QAAQ,iBAAiB"}
@@ -3,13 +3,13 @@ const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
3
3
  let __sql_sql_ts = require("../sql/sql.cjs");
4
4
  let __migrator_ts = require("../migrator.cjs");
5
5
  let __migrator_utils_ts = require("../migrator.utils.cjs");
6
- let __up_migrations_mysql_ts = require("../up-migrations/mysql.cjs");
6
+ let __up_migrations_mysql_proxy_ts = require("../up-migrations/mysql-proxy.cjs");
7
7
 
8
8
  //#region src/mysql-proxy/migrator.ts
9
9
  async function migrate(db, callback, config) {
10
10
  const migrations = (0, __migrator_ts.readMigrationFiles)(config);
11
11
  const migrationsTable = config.migrationsTable ?? "__drizzle_migrations";
12
- const { newDb } = await (0, __up_migrations_mysql_ts.upgradeIfNeeded)(migrationsTable, db.session, migrations);
12
+ const { newDb } = await (0, __up_migrations_mysql_proxy_ts.upgradeIfNeeded)(migrationsTable, db, callback, migrations);
13
13
  if (newDb) {
14
14
  const migrationTableCreate = __sql_sql_ts.sql`
15
15
  CREATE TABLE IF NOT EXISTS ${__sql_sql_ts.sql.identifier(migrationsTable)} (
@@ -1 +1 @@
1
- {"version":3,"file":"migrator.cjs","names":["sql"],"sources":["../../src/mysql-proxy/migrator.ts"],"sourcesContent":["import type { MigrationConfig, MigratorInitFailResponse } from '~/migrator.ts';\nimport { readMigrationFiles } from '~/migrator.ts';\nimport { getMigrationsToRun } from '~/migrator.utils.ts';\nimport type { AnyRelations } from '~/relations.ts';\nimport { sql } from '~/sql/sql.ts';\nimport { upgradeIfNeeded } from '~/up-migrations/mysql.ts';\nimport type { MySqlRemoteDatabase } from './driver.ts';\n\nexport type ProxyMigrator = (migrationQueries: string[]) => Promise<void>;\n\nexport async function migrate<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(\n\tdb: MySqlRemoteDatabase<TSchema, TRelations>,\n\tcallback: ProxyMigrator,\n\tconfig: MigrationConfig,\n): Promise<void | MigratorInitFailResponse> {\n\tconst migrations = readMigrationFiles(config);\n\n\tconst migrationsTable = config.migrationsTable ?? '__drizzle_migrations';\n\n\t// Detect DB version and upgrade table schema if needed\n\tconst { newDb } = await upgradeIfNeeded(migrationsTable, db.session, migrations);\n\n\tif (newDb) {\n\t\tconst migrationTableCreate = sql`\n\t\t\tCREATE TABLE IF NOT EXISTS ${sql.identifier(migrationsTable)} (\n\t\t\t\tid SERIAL PRIMARY KEY,\n\t\t\t\thash TEXT NOT NULL,\n\t\t\t\tcreated_at BIGINT,\n\t\t\t\tname TEXT,\n\t\t\t\tapplied_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP\n\t\t\t)\n\t\t`;\n\t\tawait db.session.execute(migrationTableCreate);\n\t}\n\n\tconst dbMigrations = await db.select({\n\t\tid: sql.raw('id'),\n\t\thash: sql.raw('hash'),\n\t\tcreated_at: sql.raw('created_at'),\n\t\tname: sql.raw('name'),\n\t}).from(sql.identifier(migrationsTable).getSQL()) as {\n\t\tid: number;\n\t\thash: string;\n\t\tcreated_at: string;\n\t\tname: string | null;\n\t}[];\n\n\tif (typeof config === 'object' && config.init) {\n\t\tif (dbMigrations.length) {\n\t\t\treturn { exitCode: 'databaseMigrations' as const };\n\t\t}\n\n\t\tif (migrations.length > 1) {\n\t\t\treturn { exitCode: 'localMigrations' as const };\n\t\t}\n\n\t\tconst [migration] = migrations;\n\n\t\tif (!migration) return;\n\n\t\tawait callback([\n\t\t\tdb.dialect.sqlToQuery(\n\t\t\t\tsql`insert into ${\n\t\t\t\t\tsql.identifier(migrationsTable)\n\t\t\t\t} (\\`hash\\`, \\`created_at\\`, \\`name\\`) values(${migration.hash}, '${migration.folderMillis}', ${migration.name})`\n\t\t\t\t\t.inlineParams(),\n\t\t\t).sql,\n\t\t]);\n\n\t\treturn;\n\t}\n\n\tconst migrationsToRun = getMigrationsToRun({ localMigrations: migrations, dbMigrations });\n\tconst queriesToRun: string[] = [];\n\tfor (const migration of migrationsToRun) {\n\t\tqueriesToRun.push(\n\t\t\t...migration.sql,\n\t\t\tdb.dialect.sqlToQuery(\n\t\t\t\tsql`insert into ${\n\t\t\t\t\tsql.identifier(migrationsTable)\n\t\t\t\t} (\\`hash\\`, \\`created_at\\`, \\`name\\`) values(${migration.hash}, '${migration.folderMillis}', ${migration.name})`\n\t\t\t\t\t.inlineParams(),\n\t\t\t).sql,\n\t\t);\n\t}\n\n\tawait callback(queriesToRun);\n}\n"],"mappings":";;;;;;;;AAUA,eAAsB,QACrB,IACA,UACA,QAC2C;CAC3C,MAAM,mDAAgC,OAAO;CAE7C,MAAM,kBAAkB,OAAO,mBAAmB;CAGlD,MAAM,EAAE,UAAU,oDAAsB,iBAAiB,GAAG,SAAS,WAAW;AAEhF,KAAI,OAAO;EACV,MAAM,uBAAuB,gBAAG;gCACFA,iBAAI,WAAW,gBAAgB,CAAC;;;;;;;;AAQ9D,QAAM,GAAG,QAAQ,QAAQ,qBAAqB;;CAG/C,MAAM,eAAe,MAAM,GAAG,OAAO;EACpC,IAAIA,iBAAI,IAAI,KAAK;EACjB,MAAMA,iBAAI,IAAI,OAAO;EACrB,YAAYA,iBAAI,IAAI,aAAa;EACjC,MAAMA,iBAAI,IAAI,OAAO;EACrB,CAAC,CAAC,KAAKA,iBAAI,WAAW,gBAAgB,CAAC,QAAQ,CAAC;AAOjD,KAAI,OAAO,WAAW,YAAY,OAAO,MAAM;AAC9C,MAAI,aAAa,OAChB,QAAO,EAAE,UAAU,sBAA+B;AAGnD,MAAI,WAAW,SAAS,EACvB,QAAO,EAAE,UAAU,mBAA4B;EAGhD,MAAM,CAAC,aAAa;AAEpB,MAAI,CAAC,UAAW;AAEhB,QAAM,SAAS,CACd,GAAG,QAAQ,WACV,gBAAG,eACFA,iBAAI,WAAW,gBAAgB,CAC/B,+CAA+C,UAAU,KAAK,KAAK,UAAU,aAAa,KAAK,UAAU,KAAK,GAC7G,cAAc,CAChB,CAAC,IACF,CAAC;AAEF;;CAGD,MAAM,8DAAqC;EAAE,iBAAiB;EAAY;EAAc,CAAC;CACzF,MAAM,eAAyB,EAAE;AACjC,MAAK,MAAM,aAAa,gBACvB,cAAa,KACZ,GAAG,UAAU,KACb,GAAG,QAAQ,WACV,gBAAG,eACFA,iBAAI,WAAW,gBAAgB,CAC/B,+CAA+C,UAAU,KAAK,KAAK,UAAU,aAAa,KAAK,UAAU,KAAK,GAC7G,cAAc,CAChB,CAAC,IACF;AAGF,OAAM,SAAS,aAAa"}
1
+ {"version":3,"file":"migrator.cjs","names":["sql"],"sources":["../../src/mysql-proxy/migrator.ts"],"sourcesContent":["import type { MigrationConfig, MigratorInitFailResponse } from '~/migrator.ts';\nimport { readMigrationFiles } from '~/migrator.ts';\nimport { getMigrationsToRun } from '~/migrator.utils.ts';\nimport type { AnyRelations } from '~/relations.ts';\nimport { sql } from '~/sql/sql.ts';\nimport { upgradeIfNeeded } from '~/up-migrations/mysql-proxy.ts';\nimport type { MySqlRemoteDatabase } from './driver.ts';\n\nexport type ProxyMigrator = (migrationQueries: string[]) => Promise<void>;\n\nexport async function migrate<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(\n\tdb: MySqlRemoteDatabase<TSchema, TRelations>,\n\tcallback: ProxyMigrator,\n\tconfig: MigrationConfig,\n): Promise<void | MigratorInitFailResponse> {\n\tconst migrations = readMigrationFiles(config);\n\n\tconst migrationsTable = config.migrationsTable ?? '__drizzle_migrations';\n\n\t// Detect DB version and upgrade table schema if needed\n\tconst { newDb } = await upgradeIfNeeded(migrationsTable, db, callback, migrations);\n\n\tif (newDb) {\n\t\tconst migrationTableCreate = sql`\n\t\t\tCREATE TABLE IF NOT EXISTS ${sql.identifier(migrationsTable)} (\n\t\t\t\tid SERIAL PRIMARY KEY,\n\t\t\t\thash TEXT NOT NULL,\n\t\t\t\tcreated_at BIGINT,\n\t\t\t\tname TEXT,\n\t\t\t\tapplied_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP\n\t\t\t)\n\t\t`;\n\t\tawait db.session.execute(migrationTableCreate);\n\t}\n\n\tconst dbMigrations = await db.select({\n\t\tid: sql.raw('id'),\n\t\thash: sql.raw('hash'),\n\t\tcreated_at: sql.raw('created_at'),\n\t\tname: sql.raw('name'),\n\t}).from(sql.identifier(migrationsTable).getSQL()) as {\n\t\tid: number;\n\t\thash: string;\n\t\tcreated_at: string;\n\t\tname: string | null;\n\t}[];\n\n\tif (typeof config === 'object' && config.init) {\n\t\tif (dbMigrations.length) {\n\t\t\treturn { exitCode: 'databaseMigrations' as const };\n\t\t}\n\n\t\tif (migrations.length > 1) {\n\t\t\treturn { exitCode: 'localMigrations' as const };\n\t\t}\n\n\t\tconst [migration] = migrations;\n\n\t\tif (!migration) return;\n\n\t\tawait callback([\n\t\t\tdb.dialect.sqlToQuery(\n\t\t\t\tsql`insert into ${\n\t\t\t\t\tsql.identifier(migrationsTable)\n\t\t\t\t} (\\`hash\\`, \\`created_at\\`, \\`name\\`) values(${migration.hash}, '${migration.folderMillis}', ${migration.name})`\n\t\t\t\t\t.inlineParams(),\n\t\t\t).sql,\n\t\t]);\n\n\t\treturn;\n\t}\n\n\tconst migrationsToRun = getMigrationsToRun({ localMigrations: migrations, dbMigrations });\n\tconst queriesToRun: string[] = [];\n\tfor (const migration of migrationsToRun) {\n\t\tqueriesToRun.push(\n\t\t\t...migration.sql,\n\t\t\tdb.dialect.sqlToQuery(\n\t\t\t\tsql`insert into ${\n\t\t\t\t\tsql.identifier(migrationsTable)\n\t\t\t\t} (\\`hash\\`, \\`created_at\\`, \\`name\\`) values(${migration.hash}, '${migration.folderMillis}', ${migration.name})`\n\t\t\t\t\t.inlineParams(),\n\t\t\t).sql,\n\t\t);\n\t}\n\n\tawait callback(queriesToRun);\n}\n"],"mappings":";;;;;;;;AAUA,eAAsB,QACrB,IACA,UACA,QAC2C;CAC3C,MAAM,mDAAgC,OAAO;CAE7C,MAAM,kBAAkB,OAAO,mBAAmB;CAGlD,MAAM,EAAE,UAAU,0DAAsB,iBAAiB,IAAI,UAAU,WAAW;AAElF,KAAI,OAAO;EACV,MAAM,uBAAuB,gBAAG;gCACFA,iBAAI,WAAW,gBAAgB,CAAC;;;;;;;;AAQ9D,QAAM,GAAG,QAAQ,QAAQ,qBAAqB;;CAG/C,MAAM,eAAe,MAAM,GAAG,OAAO;EACpC,IAAIA,iBAAI,IAAI,KAAK;EACjB,MAAMA,iBAAI,IAAI,OAAO;EACrB,YAAYA,iBAAI,IAAI,aAAa;EACjC,MAAMA,iBAAI,IAAI,OAAO;EACrB,CAAC,CAAC,KAAKA,iBAAI,WAAW,gBAAgB,CAAC,QAAQ,CAAC;AAOjD,KAAI,OAAO,WAAW,YAAY,OAAO,MAAM;AAC9C,MAAI,aAAa,OAChB,QAAO,EAAE,UAAU,sBAA+B;AAGnD,MAAI,WAAW,SAAS,EACvB,QAAO,EAAE,UAAU,mBAA4B;EAGhD,MAAM,CAAC,aAAa;AAEpB,MAAI,CAAC,UAAW;AAEhB,QAAM,SAAS,CACd,GAAG,QAAQ,WACV,gBAAG,eACFA,iBAAI,WAAW,gBAAgB,CAC/B,+CAA+C,UAAU,KAAK,KAAK,UAAU,aAAa,KAAK,UAAU,KAAK,GAC7G,cAAc,CAChB,CAAC,IACF,CAAC;AAEF;;CAGD,MAAM,8DAAqC;EAAE,iBAAiB;EAAY;EAAc,CAAC;CACzF,MAAM,eAAyB,EAAE;AACjC,MAAK,MAAM,aAAa,gBACvB,cAAa,KACZ,GAAG,UAAU,KACb,GAAG,QAAQ,WACV,gBAAG,eACFA,iBAAI,WAAW,gBAAgB,CAC/B,+CAA+C,UAAU,KAAK,KAAK,UAAU,aAAa,KAAK,UAAU,KAAK,GAC7G,cAAc,CAChB,CAAC,IACF;AAGF,OAAM,SAAS,aAAa"}
@@ -1,13 +1,13 @@
1
1
  import { sql } from "../sql/sql.js";
2
2
  import { readMigrationFiles } from "../migrator.js";
3
3
  import { getMigrationsToRun } from "../migrator.utils.js";
4
- import { upgradeIfNeeded } from "../up-migrations/mysql.js";
4
+ import { upgradeIfNeeded } from "../up-migrations/mysql-proxy.js";
5
5
 
6
6
  //#region src/mysql-proxy/migrator.ts
7
7
  async function migrate(db, callback, config) {
8
8
  const migrations = readMigrationFiles(config);
9
9
  const migrationsTable = config.migrationsTable ?? "__drizzle_migrations";
10
- const { newDb } = await upgradeIfNeeded(migrationsTable, db.session, migrations);
10
+ const { newDb } = await upgradeIfNeeded(migrationsTable, db, callback, migrations);
11
11
  if (newDb) {
12
12
  const migrationTableCreate = sql`
13
13
  CREATE TABLE IF NOT EXISTS ${sql.identifier(migrationsTable)} (
@@ -1 +1 @@
1
- {"version":3,"file":"migrator.js","names":[],"sources":["../../src/mysql-proxy/migrator.ts"],"sourcesContent":["import type { MigrationConfig, MigratorInitFailResponse } from '~/migrator.ts';\nimport { readMigrationFiles } from '~/migrator.ts';\nimport { getMigrationsToRun } from '~/migrator.utils.ts';\nimport type { AnyRelations } from '~/relations.ts';\nimport { sql } from '~/sql/sql.ts';\nimport { upgradeIfNeeded } from '~/up-migrations/mysql.ts';\nimport type { MySqlRemoteDatabase } from './driver.ts';\n\nexport type ProxyMigrator = (migrationQueries: string[]) => Promise<void>;\n\nexport async function migrate<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(\n\tdb: MySqlRemoteDatabase<TSchema, TRelations>,\n\tcallback: ProxyMigrator,\n\tconfig: MigrationConfig,\n): Promise<void | MigratorInitFailResponse> {\n\tconst migrations = readMigrationFiles(config);\n\n\tconst migrationsTable = config.migrationsTable ?? '__drizzle_migrations';\n\n\t// Detect DB version and upgrade table schema if needed\n\tconst { newDb } = await upgradeIfNeeded(migrationsTable, db.session, migrations);\n\n\tif (newDb) {\n\t\tconst migrationTableCreate = sql`\n\t\t\tCREATE TABLE IF NOT EXISTS ${sql.identifier(migrationsTable)} (\n\t\t\t\tid SERIAL PRIMARY KEY,\n\t\t\t\thash TEXT NOT NULL,\n\t\t\t\tcreated_at BIGINT,\n\t\t\t\tname TEXT,\n\t\t\t\tapplied_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP\n\t\t\t)\n\t\t`;\n\t\tawait db.session.execute(migrationTableCreate);\n\t}\n\n\tconst dbMigrations = await db.select({\n\t\tid: sql.raw('id'),\n\t\thash: sql.raw('hash'),\n\t\tcreated_at: sql.raw('created_at'),\n\t\tname: sql.raw('name'),\n\t}).from(sql.identifier(migrationsTable).getSQL()) as {\n\t\tid: number;\n\t\thash: string;\n\t\tcreated_at: string;\n\t\tname: string | null;\n\t}[];\n\n\tif (typeof config === 'object' && config.init) {\n\t\tif (dbMigrations.length) {\n\t\t\treturn { exitCode: 'databaseMigrations' as const };\n\t\t}\n\n\t\tif (migrations.length > 1) {\n\t\t\treturn { exitCode: 'localMigrations' as const };\n\t\t}\n\n\t\tconst [migration] = migrations;\n\n\t\tif (!migration) return;\n\n\t\tawait callback([\n\t\t\tdb.dialect.sqlToQuery(\n\t\t\t\tsql`insert into ${\n\t\t\t\t\tsql.identifier(migrationsTable)\n\t\t\t\t} (\\`hash\\`, \\`created_at\\`, \\`name\\`) values(${migration.hash}, '${migration.folderMillis}', ${migration.name})`\n\t\t\t\t\t.inlineParams(),\n\t\t\t).sql,\n\t\t]);\n\n\t\treturn;\n\t}\n\n\tconst migrationsToRun = getMigrationsToRun({ localMigrations: migrations, dbMigrations });\n\tconst queriesToRun: string[] = [];\n\tfor (const migration of migrationsToRun) {\n\t\tqueriesToRun.push(\n\t\t\t...migration.sql,\n\t\t\tdb.dialect.sqlToQuery(\n\t\t\t\tsql`insert into ${\n\t\t\t\t\tsql.identifier(migrationsTable)\n\t\t\t\t} (\\`hash\\`, \\`created_at\\`, \\`name\\`) values(${migration.hash}, '${migration.folderMillis}', ${migration.name})`\n\t\t\t\t\t.inlineParams(),\n\t\t\t).sql,\n\t\t);\n\t}\n\n\tawait callback(queriesToRun);\n}\n"],"mappings":";;;;;;AAUA,eAAsB,QACrB,IACA,UACA,QAC2C;CAC3C,MAAM,aAAa,mBAAmB,OAAO;CAE7C,MAAM,kBAAkB,OAAO,mBAAmB;CAGlD,MAAM,EAAE,UAAU,MAAM,gBAAgB,iBAAiB,GAAG,SAAS,WAAW;AAEhF,KAAI,OAAO;EACV,MAAM,uBAAuB,GAAG;gCACF,IAAI,WAAW,gBAAgB,CAAC;;;;;;;;AAQ9D,QAAM,GAAG,QAAQ,QAAQ,qBAAqB;;CAG/C,MAAM,eAAe,MAAM,GAAG,OAAO;EACpC,IAAI,IAAI,IAAI,KAAK;EACjB,MAAM,IAAI,IAAI,OAAO;EACrB,YAAY,IAAI,IAAI,aAAa;EACjC,MAAM,IAAI,IAAI,OAAO;EACrB,CAAC,CAAC,KAAK,IAAI,WAAW,gBAAgB,CAAC,QAAQ,CAAC;AAOjD,KAAI,OAAO,WAAW,YAAY,OAAO,MAAM;AAC9C,MAAI,aAAa,OAChB,QAAO,EAAE,UAAU,sBAA+B;AAGnD,MAAI,WAAW,SAAS,EACvB,QAAO,EAAE,UAAU,mBAA4B;EAGhD,MAAM,CAAC,aAAa;AAEpB,MAAI,CAAC,UAAW;AAEhB,QAAM,SAAS,CACd,GAAG,QAAQ,WACV,GAAG,eACF,IAAI,WAAW,gBAAgB,CAC/B,+CAA+C,UAAU,KAAK,KAAK,UAAU,aAAa,KAAK,UAAU,KAAK,GAC7G,cAAc,CAChB,CAAC,IACF,CAAC;AAEF;;CAGD,MAAM,kBAAkB,mBAAmB;EAAE,iBAAiB;EAAY;EAAc,CAAC;CACzF,MAAM,eAAyB,EAAE;AACjC,MAAK,MAAM,aAAa,gBACvB,cAAa,KACZ,GAAG,UAAU,KACb,GAAG,QAAQ,WACV,GAAG,eACF,IAAI,WAAW,gBAAgB,CAC/B,+CAA+C,UAAU,KAAK,KAAK,UAAU,aAAa,KAAK,UAAU,KAAK,GAC7G,cAAc,CAChB,CAAC,IACF;AAGF,OAAM,SAAS,aAAa"}
1
+ {"version":3,"file":"migrator.js","names":[],"sources":["../../src/mysql-proxy/migrator.ts"],"sourcesContent":["import type { MigrationConfig, MigratorInitFailResponse } from '~/migrator.ts';\nimport { readMigrationFiles } from '~/migrator.ts';\nimport { getMigrationsToRun } from '~/migrator.utils.ts';\nimport type { AnyRelations } from '~/relations.ts';\nimport { sql } from '~/sql/sql.ts';\nimport { upgradeIfNeeded } from '~/up-migrations/mysql-proxy.ts';\nimport type { MySqlRemoteDatabase } from './driver.ts';\n\nexport type ProxyMigrator = (migrationQueries: string[]) => Promise<void>;\n\nexport async function migrate<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(\n\tdb: MySqlRemoteDatabase<TSchema, TRelations>,\n\tcallback: ProxyMigrator,\n\tconfig: MigrationConfig,\n): Promise<void | MigratorInitFailResponse> {\n\tconst migrations = readMigrationFiles(config);\n\n\tconst migrationsTable = config.migrationsTable ?? '__drizzle_migrations';\n\n\t// Detect DB version and upgrade table schema if needed\n\tconst { newDb } = await upgradeIfNeeded(migrationsTable, db, callback, migrations);\n\n\tif (newDb) {\n\t\tconst migrationTableCreate = sql`\n\t\t\tCREATE TABLE IF NOT EXISTS ${sql.identifier(migrationsTable)} (\n\t\t\t\tid SERIAL PRIMARY KEY,\n\t\t\t\thash TEXT NOT NULL,\n\t\t\t\tcreated_at BIGINT,\n\t\t\t\tname TEXT,\n\t\t\t\tapplied_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP\n\t\t\t)\n\t\t`;\n\t\tawait db.session.execute(migrationTableCreate);\n\t}\n\n\tconst dbMigrations = await db.select({\n\t\tid: sql.raw('id'),\n\t\thash: sql.raw('hash'),\n\t\tcreated_at: sql.raw('created_at'),\n\t\tname: sql.raw('name'),\n\t}).from(sql.identifier(migrationsTable).getSQL()) as {\n\t\tid: number;\n\t\thash: string;\n\t\tcreated_at: string;\n\t\tname: string | null;\n\t}[];\n\n\tif (typeof config === 'object' && config.init) {\n\t\tif (dbMigrations.length) {\n\t\t\treturn { exitCode: 'databaseMigrations' as const };\n\t\t}\n\n\t\tif (migrations.length > 1) {\n\t\t\treturn { exitCode: 'localMigrations' as const };\n\t\t}\n\n\t\tconst [migration] = migrations;\n\n\t\tif (!migration) return;\n\n\t\tawait callback([\n\t\t\tdb.dialect.sqlToQuery(\n\t\t\t\tsql`insert into ${\n\t\t\t\t\tsql.identifier(migrationsTable)\n\t\t\t\t} (\\`hash\\`, \\`created_at\\`, \\`name\\`) values(${migration.hash}, '${migration.folderMillis}', ${migration.name})`\n\t\t\t\t\t.inlineParams(),\n\t\t\t).sql,\n\t\t]);\n\n\t\treturn;\n\t}\n\n\tconst migrationsToRun = getMigrationsToRun({ localMigrations: migrations, dbMigrations });\n\tconst queriesToRun: string[] = [];\n\tfor (const migration of migrationsToRun) {\n\t\tqueriesToRun.push(\n\t\t\t...migration.sql,\n\t\t\tdb.dialect.sqlToQuery(\n\t\t\t\tsql`insert into ${\n\t\t\t\t\tsql.identifier(migrationsTable)\n\t\t\t\t} (\\`hash\\`, \\`created_at\\`, \\`name\\`) values(${migration.hash}, '${migration.folderMillis}', ${migration.name})`\n\t\t\t\t\t.inlineParams(),\n\t\t\t).sql,\n\t\t);\n\t}\n\n\tawait callback(queriesToRun);\n}\n"],"mappings":";;;;;;AAUA,eAAsB,QACrB,IACA,UACA,QAC2C;CAC3C,MAAM,aAAa,mBAAmB,OAAO;CAE7C,MAAM,kBAAkB,OAAO,mBAAmB;CAGlD,MAAM,EAAE,UAAU,MAAM,gBAAgB,iBAAiB,IAAI,UAAU,WAAW;AAElF,KAAI,OAAO;EACV,MAAM,uBAAuB,GAAG;gCACF,IAAI,WAAW,gBAAgB,CAAC;;;;;;;;AAQ9D,QAAM,GAAG,QAAQ,QAAQ,qBAAqB;;CAG/C,MAAM,eAAe,MAAM,GAAG,OAAO;EACpC,IAAI,IAAI,IAAI,KAAK;EACjB,MAAM,IAAI,IAAI,OAAO;EACrB,YAAY,IAAI,IAAI,aAAa;EACjC,MAAM,IAAI,IAAI,OAAO;EACrB,CAAC,CAAC,KAAK,IAAI,WAAW,gBAAgB,CAAC,QAAQ,CAAC;AAOjD,KAAI,OAAO,WAAW,YAAY,OAAO,MAAM;AAC9C,MAAI,aAAa,OAChB,QAAO,EAAE,UAAU,sBAA+B;AAGnD,MAAI,WAAW,SAAS,EACvB,QAAO,EAAE,UAAU,mBAA4B;EAGhD,MAAM,CAAC,aAAa;AAEpB,MAAI,CAAC,UAAW;AAEhB,QAAM,SAAS,CACd,GAAG,QAAQ,WACV,GAAG,eACF,IAAI,WAAW,gBAAgB,CAC/B,+CAA+C,UAAU,KAAK,KAAK,UAAU,aAAa,KAAK,UAAU,KAAK,GAC7G,cAAc,CAChB,CAAC,IACF,CAAC;AAEF;;CAGD,MAAM,kBAAkB,mBAAmB;EAAE,iBAAiB;EAAY;EAAc,CAAC;CACzF,MAAM,eAAyB,EAAE;AACjC,MAAK,MAAM,aAAa,gBACvB,cAAa,KACZ,GAAG,UAAU,KACb,GAAG,QAAQ,WACV,GAAG,eACF,IAAI,WAAW,gBAAgB,CAC/B,+CAA+C,UAAU,KAAK,KAAK,UAAU,aAAa,KAAK,UAAU,KAAK,GAC7G,cAAc,CAChB,CAAC,IACF;AAGF,OAAM,SAAS,aAAa"}
@@ -30,7 +30,7 @@ async function readMigrationFiles({ migrations }) {
30
30
  }
31
31
  async function migrate(db, config) {
32
32
  const migrations = await readMigrationFiles(config);
33
- return await db.dialect.migrate(migrations, db.session);
33
+ return await db.dialect.migrate(migrations, db);
34
34
  }
35
35
  const useMigrations = (db, migrations) => {
36
36
  const initialState = {
@@ -1 +1 @@
1
- {"version":3,"file":"migrator.cjs","names":[],"sources":["../../src/op-sqlite/migrator.ts"],"sourcesContent":["import { useEffect, useReducer } from 'react';\nimport type { MigrationMeta } from '~/migrator.ts';\nimport { formatToMillis } from '~/migrator.utils.ts';\nimport type { AnyRelations } from '~/relations.ts';\nimport type { OPSQLiteDatabase } from './driver.ts';\n\ninterface MigrationConfig {\n\tmigrations: Record<string, string>;\n}\n\nasync function readMigrationFiles({ migrations }: MigrationConfig): Promise<MigrationMeta[]> {\n\tconst migrationQueries: MigrationMeta[] = [];\n\n\tconst sortedMigrations = Object.keys(migrations).sort();\n\n\tfor (const key of sortedMigrations) {\n\t\tconst query = migrations[key];\n\t\tif (!query) {\n\t\t\tthrow new Error(`Missing migration: ${key}`);\n\t\t}\n\n\t\ttry {\n\t\t\tconst result = query.split('--> statement-breakpoint').map((it) => {\n\t\t\t\treturn it;\n\t\t\t});\n\n\t\t\tconst migrationDate = formatToMillis(key.slice(0, 14));\n\n\t\t\tmigrationQueries.push({\n\t\t\t\tsql: result,\n\t\t\t\tbps: true,\n\t\t\t\tfolderMillis: migrationDate,\n\t\t\t\thash: '',\n\t\t\t\tname: key,\n\t\t\t});\n\t\t} catch {\n\t\t\tthrow new Error(`Failed to parse migration: ${key}`);\n\t\t}\n\t}\n\n\treturn migrationQueries;\n}\n\nexport async function migrate<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(\n\tdb: OPSQLiteDatabase<TSchema, TRelations>,\n\tconfig: MigrationConfig,\n) {\n\tconst migrations = await readMigrationFiles(config);\n\treturn await db.dialect.migrate(migrations, db.session);\n}\n\ninterface State {\n\tsuccess: boolean;\n\terror?: Error;\n}\n\ntype Action =\n\t| { type: 'migrating' }\n\t| { type: 'migrated'; payload: true }\n\t| { type: 'error'; payload: Error };\n\nexport const useMigrations = (db: OPSQLiteDatabase<any, any>, migrations: {\n\tmigrations: Record<string, string>;\n}): State => {\n\tconst initialState: State = {\n\t\tsuccess: false,\n\t\terror: undefined,\n\t};\n\n\tconst fetchReducer = (state: State, action: Action): State => {\n\t\tswitch (action.type) {\n\t\t\tcase 'migrating': {\n\t\t\t\treturn { ...initialState };\n\t\t\t}\n\t\t\tcase 'migrated': {\n\t\t\t\treturn { ...initialState, success: action.payload };\n\t\t\t}\n\t\t\tcase 'error': {\n\t\t\t\treturn { ...initialState, error: action.payload };\n\t\t\t}\n\t\t\tdefault: {\n\t\t\t\treturn state;\n\t\t\t}\n\t\t}\n\t};\n\n\tconst [state, dispatch] = useReducer(fetchReducer, initialState);\n\n\tuseEffect(() => {\n\t\tdispatch({ type: 'migrating' });\n\t\tmigrate(db, migrations).then(() => {\n\t\t\tdispatch({ type: 'migrated', payload: true });\n\t\t}).catch((error) => {\n\t\t\tdispatch({ type: 'error', payload: error as Error });\n\t\t});\n\t}, []);\n\n\treturn state;\n};\n"],"mappings":";;;;;;AAUA,eAAe,mBAAmB,EAAE,cAAyD;CAC5F,MAAM,mBAAoC,EAAE;CAE5C,MAAM,mBAAmB,OAAO,KAAK,WAAW,CAAC,MAAM;AAEvD,MAAK,MAAM,OAAO,kBAAkB;EACnC,MAAM,QAAQ,WAAW;AACzB,MAAI,CAAC,MACJ,OAAM,IAAI,MAAM,sBAAsB,MAAM;AAG7C,MAAI;GACH,MAAM,SAAS,MAAM,MAAM,2BAA2B,CAAC,KAAK,OAAO;AAClE,WAAO;KACN;GAEF,MAAM,wDAA+B,IAAI,MAAM,GAAG,GAAG,CAAC;AAEtD,oBAAiB,KAAK;IACrB,KAAK;IACL,KAAK;IACL,cAAc;IACd,MAAM;IACN,MAAM;IACN,CAAC;UACK;AACP,SAAM,IAAI,MAAM,8BAA8B,MAAM;;;AAItD,QAAO;;AAGR,eAAsB,QACrB,IACA,QACC;CACD,MAAM,aAAa,MAAM,mBAAmB,OAAO;AACnD,QAAO,MAAM,GAAG,QAAQ,QAAQ,YAAY,GAAG,QAAQ;;AAaxD,MAAa,iBAAiB,IAAgC,eAEjD;CACZ,MAAM,eAAsB;EAC3B,SAAS;EACT,OAAO;EACP;CAED,MAAM,gBAAgB,OAAc,WAA0B;AAC7D,UAAQ,OAAO,MAAf;GACC,KAAK,YACJ,QAAO,EAAE,GAAG,cAAc;GAE3B,KAAK,WACJ,QAAO;IAAE,GAAG;IAAc,SAAS,OAAO;IAAS;GAEpD,KAAK,QACJ,QAAO;IAAE,GAAG;IAAc,OAAO,OAAO;IAAS;GAElD,QACC,QAAO;;;CAKV,MAAM,CAAC,OAAO,kCAAuB,cAAc,aAAa;AAEhE,4BAAgB;AACf,WAAS,EAAE,MAAM,aAAa,CAAC;AAC/B,UAAQ,IAAI,WAAW,CAAC,WAAW;AAClC,YAAS;IAAE,MAAM;IAAY,SAAS;IAAM,CAAC;IAC5C,CAAC,OAAO,UAAU;AACnB,YAAS;IAAE,MAAM;IAAS,SAAS;IAAgB,CAAC;IACnD;IACA,EAAE,CAAC;AAEN,QAAO"}
1
+ {"version":3,"file":"migrator.cjs","names":[],"sources":["../../src/op-sqlite/migrator.ts"],"sourcesContent":["import { useEffect, useReducer } from 'react';\nimport type { MigrationMeta } from '~/migrator.ts';\nimport { formatToMillis } from '~/migrator.utils.ts';\nimport type { AnyRelations } from '~/relations.ts';\nimport type { OPSQLiteDatabase } from './driver.ts';\n\ninterface MigrationConfig {\n\tmigrations: Record<string, string>;\n}\n\nasync function readMigrationFiles({ migrations }: MigrationConfig): Promise<MigrationMeta[]> {\n\tconst migrationQueries: MigrationMeta[] = [];\n\n\tconst sortedMigrations = Object.keys(migrations).sort();\n\n\tfor (const key of sortedMigrations) {\n\t\tconst query = migrations[key];\n\t\tif (!query) {\n\t\t\tthrow new Error(`Missing migration: ${key}`);\n\t\t}\n\n\t\ttry {\n\t\t\tconst result = query.split('--> statement-breakpoint').map((it) => {\n\t\t\t\treturn it;\n\t\t\t});\n\n\t\t\tconst migrationDate = formatToMillis(key.slice(0, 14));\n\n\t\t\tmigrationQueries.push({\n\t\t\t\tsql: result,\n\t\t\t\tbps: true,\n\t\t\t\tfolderMillis: migrationDate,\n\t\t\t\thash: '',\n\t\t\t\tname: key,\n\t\t\t});\n\t\t} catch {\n\t\t\tthrow new Error(`Failed to parse migration: ${key}`);\n\t\t}\n\t}\n\n\treturn migrationQueries;\n}\n\nexport async function migrate<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(\n\tdb: OPSQLiteDatabase<TSchema, TRelations>,\n\tconfig: MigrationConfig,\n) {\n\tconst migrations = await readMigrationFiles(config);\n\treturn await db.dialect.migrate(migrations, db);\n}\n\ninterface State {\n\tsuccess: boolean;\n\terror?: Error;\n}\n\ntype Action =\n\t| { type: 'migrating' }\n\t| { type: 'migrated'; payload: true }\n\t| { type: 'error'; payload: Error };\n\nexport const useMigrations = (db: OPSQLiteDatabase<any, any>, migrations: {\n\tmigrations: Record<string, string>;\n}): State => {\n\tconst initialState: State = {\n\t\tsuccess: false,\n\t\terror: undefined,\n\t};\n\n\tconst fetchReducer = (state: State, action: Action): State => {\n\t\tswitch (action.type) {\n\t\t\tcase 'migrating': {\n\t\t\t\treturn { ...initialState };\n\t\t\t}\n\t\t\tcase 'migrated': {\n\t\t\t\treturn { ...initialState, success: action.payload };\n\t\t\t}\n\t\t\tcase 'error': {\n\t\t\t\treturn { ...initialState, error: action.payload };\n\t\t\t}\n\t\t\tdefault: {\n\t\t\t\treturn state;\n\t\t\t}\n\t\t}\n\t};\n\n\tconst [state, dispatch] = useReducer(fetchReducer, initialState);\n\n\tuseEffect(() => {\n\t\tdispatch({ type: 'migrating' });\n\t\tmigrate(db, migrations).then(() => {\n\t\t\tdispatch({ type: 'migrated', payload: true });\n\t\t}).catch((error) => {\n\t\t\tdispatch({ type: 'error', payload: error as Error });\n\t\t});\n\t}, []);\n\n\treturn state;\n};\n"],"mappings":";;;;;;AAUA,eAAe,mBAAmB,EAAE,cAAyD;CAC5F,MAAM,mBAAoC,EAAE;CAE5C,MAAM,mBAAmB,OAAO,KAAK,WAAW,CAAC,MAAM;AAEvD,MAAK,MAAM,OAAO,kBAAkB;EACnC,MAAM,QAAQ,WAAW;AACzB,MAAI,CAAC,MACJ,OAAM,IAAI,MAAM,sBAAsB,MAAM;AAG7C,MAAI;GACH,MAAM,SAAS,MAAM,MAAM,2BAA2B,CAAC,KAAK,OAAO;AAClE,WAAO;KACN;GAEF,MAAM,wDAA+B,IAAI,MAAM,GAAG,GAAG,CAAC;AAEtD,oBAAiB,KAAK;IACrB,KAAK;IACL,KAAK;IACL,cAAc;IACd,MAAM;IACN,MAAM;IACN,CAAC;UACK;AACP,SAAM,IAAI,MAAM,8BAA8B,MAAM;;;AAItD,QAAO;;AAGR,eAAsB,QACrB,IACA,QACC;CACD,MAAM,aAAa,MAAM,mBAAmB,OAAO;AACnD,QAAO,MAAM,GAAG,QAAQ,QAAQ,YAAY,GAAG;;AAahD,MAAa,iBAAiB,IAAgC,eAEjD;CACZ,MAAM,eAAsB;EAC3B,SAAS;EACT,OAAO;EACP;CAED,MAAM,gBAAgB,OAAc,WAA0B;AAC7D,UAAQ,OAAO,MAAf;GACC,KAAK,YACJ,QAAO,EAAE,GAAG,cAAc;GAE3B,KAAK,WACJ,QAAO;IAAE,GAAG;IAAc,SAAS,OAAO;IAAS;GAEpD,KAAK,QACJ,QAAO;IAAE,GAAG;IAAc,OAAO,OAAO;IAAS;GAElD,QACC,QAAO;;;CAKV,MAAM,CAAC,OAAO,kCAAuB,cAAc,aAAa;AAEhE,4BAAgB;AACf,WAAS,EAAE,MAAM,aAAa,CAAC;AAC/B,UAAQ,IAAI,WAAW,CAAC,WAAW;AAClC,YAAS;IAAE,MAAM;IAAY,SAAS;IAAM,CAAC;IAC5C,CAAC,OAAO,UAAU;AACnB,YAAS;IAAE,MAAM;IAAS,SAAS;IAAgB,CAAC;IACnD;IACA,EAAE,CAAC;AAEN,QAAO"}
@@ -28,7 +28,7 @@ async function readMigrationFiles({ migrations }) {
28
28
  }
29
29
  async function migrate(db, config) {
30
30
  const migrations = await readMigrationFiles(config);
31
- return await db.dialect.migrate(migrations, db.session);
31
+ return await db.dialect.migrate(migrations, db);
32
32
  }
33
33
  const useMigrations = (db, migrations) => {
34
34
  const initialState = {
@@ -1 +1 @@
1
- {"version":3,"file":"migrator.js","names":[],"sources":["../../src/op-sqlite/migrator.ts"],"sourcesContent":["import { useEffect, useReducer } from 'react';\nimport type { MigrationMeta } from '~/migrator.ts';\nimport { formatToMillis } from '~/migrator.utils.ts';\nimport type { AnyRelations } from '~/relations.ts';\nimport type { OPSQLiteDatabase } from './driver.ts';\n\ninterface MigrationConfig {\n\tmigrations: Record<string, string>;\n}\n\nasync function readMigrationFiles({ migrations }: MigrationConfig): Promise<MigrationMeta[]> {\n\tconst migrationQueries: MigrationMeta[] = [];\n\n\tconst sortedMigrations = Object.keys(migrations).sort();\n\n\tfor (const key of sortedMigrations) {\n\t\tconst query = migrations[key];\n\t\tif (!query) {\n\t\t\tthrow new Error(`Missing migration: ${key}`);\n\t\t}\n\n\t\ttry {\n\t\t\tconst result = query.split('--> statement-breakpoint').map((it) => {\n\t\t\t\treturn it;\n\t\t\t});\n\n\t\t\tconst migrationDate = formatToMillis(key.slice(0, 14));\n\n\t\t\tmigrationQueries.push({\n\t\t\t\tsql: result,\n\t\t\t\tbps: true,\n\t\t\t\tfolderMillis: migrationDate,\n\t\t\t\thash: '',\n\t\t\t\tname: key,\n\t\t\t});\n\t\t} catch {\n\t\t\tthrow new Error(`Failed to parse migration: ${key}`);\n\t\t}\n\t}\n\n\treturn migrationQueries;\n}\n\nexport async function migrate<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(\n\tdb: OPSQLiteDatabase<TSchema, TRelations>,\n\tconfig: MigrationConfig,\n) {\n\tconst migrations = await readMigrationFiles(config);\n\treturn await db.dialect.migrate(migrations, db.session);\n}\n\ninterface State {\n\tsuccess: boolean;\n\terror?: Error;\n}\n\ntype Action =\n\t| { type: 'migrating' }\n\t| { type: 'migrated'; payload: true }\n\t| { type: 'error'; payload: Error };\n\nexport const useMigrations = (db: OPSQLiteDatabase<any, any>, migrations: {\n\tmigrations: Record<string, string>;\n}): State => {\n\tconst initialState: State = {\n\t\tsuccess: false,\n\t\terror: undefined,\n\t};\n\n\tconst fetchReducer = (state: State, action: Action): State => {\n\t\tswitch (action.type) {\n\t\t\tcase 'migrating': {\n\t\t\t\treturn { ...initialState };\n\t\t\t}\n\t\t\tcase 'migrated': {\n\t\t\t\treturn { ...initialState, success: action.payload };\n\t\t\t}\n\t\t\tcase 'error': {\n\t\t\t\treturn { ...initialState, error: action.payload };\n\t\t\t}\n\t\t\tdefault: {\n\t\t\t\treturn state;\n\t\t\t}\n\t\t}\n\t};\n\n\tconst [state, dispatch] = useReducer(fetchReducer, initialState);\n\n\tuseEffect(() => {\n\t\tdispatch({ type: 'migrating' });\n\t\tmigrate(db, migrations).then(() => {\n\t\t\tdispatch({ type: 'migrated', payload: true });\n\t\t}).catch((error) => {\n\t\t\tdispatch({ type: 'error', payload: error as Error });\n\t\t});\n\t}, []);\n\n\treturn state;\n};\n"],"mappings":";;;;AAUA,eAAe,mBAAmB,EAAE,cAAyD;CAC5F,MAAM,mBAAoC,EAAE;CAE5C,MAAM,mBAAmB,OAAO,KAAK,WAAW,CAAC,MAAM;AAEvD,MAAK,MAAM,OAAO,kBAAkB;EACnC,MAAM,QAAQ,WAAW;AACzB,MAAI,CAAC,MACJ,OAAM,IAAI,MAAM,sBAAsB,MAAM;AAG7C,MAAI;GACH,MAAM,SAAS,MAAM,MAAM,2BAA2B,CAAC,KAAK,OAAO;AAClE,WAAO;KACN;GAEF,MAAM,gBAAgB,eAAe,IAAI,MAAM,GAAG,GAAG,CAAC;AAEtD,oBAAiB,KAAK;IACrB,KAAK;IACL,KAAK;IACL,cAAc;IACd,MAAM;IACN,MAAM;IACN,CAAC;UACK;AACP,SAAM,IAAI,MAAM,8BAA8B,MAAM;;;AAItD,QAAO;;AAGR,eAAsB,QACrB,IACA,QACC;CACD,MAAM,aAAa,MAAM,mBAAmB,OAAO;AACnD,QAAO,MAAM,GAAG,QAAQ,QAAQ,YAAY,GAAG,QAAQ;;AAaxD,MAAa,iBAAiB,IAAgC,eAEjD;CACZ,MAAM,eAAsB;EAC3B,SAAS;EACT,OAAO;EACP;CAED,MAAM,gBAAgB,OAAc,WAA0B;AAC7D,UAAQ,OAAO,MAAf;GACC,KAAK,YACJ,QAAO,EAAE,GAAG,cAAc;GAE3B,KAAK,WACJ,QAAO;IAAE,GAAG;IAAc,SAAS,OAAO;IAAS;GAEpD,KAAK,QACJ,QAAO;IAAE,GAAG;IAAc,OAAO,OAAO;IAAS;GAElD,QACC,QAAO;;;CAKV,MAAM,CAAC,OAAO,YAAY,WAAW,cAAc,aAAa;AAEhE,iBAAgB;AACf,WAAS,EAAE,MAAM,aAAa,CAAC;AAC/B,UAAQ,IAAI,WAAW,CAAC,WAAW;AAClC,YAAS;IAAE,MAAM;IAAY,SAAS;IAAM,CAAC;IAC5C,CAAC,OAAO,UAAU;AACnB,YAAS;IAAE,MAAM;IAAS,SAAS;IAAgB,CAAC;IACnD;IACA,EAAE,CAAC;AAEN,QAAO"}
1
+ {"version":3,"file":"migrator.js","names":[],"sources":["../../src/op-sqlite/migrator.ts"],"sourcesContent":["import { useEffect, useReducer } from 'react';\nimport type { MigrationMeta } from '~/migrator.ts';\nimport { formatToMillis } from '~/migrator.utils.ts';\nimport type { AnyRelations } from '~/relations.ts';\nimport type { OPSQLiteDatabase } from './driver.ts';\n\ninterface MigrationConfig {\n\tmigrations: Record<string, string>;\n}\n\nasync function readMigrationFiles({ migrations }: MigrationConfig): Promise<MigrationMeta[]> {\n\tconst migrationQueries: MigrationMeta[] = [];\n\n\tconst sortedMigrations = Object.keys(migrations).sort();\n\n\tfor (const key of sortedMigrations) {\n\t\tconst query = migrations[key];\n\t\tif (!query) {\n\t\t\tthrow new Error(`Missing migration: ${key}`);\n\t\t}\n\n\t\ttry {\n\t\t\tconst result = query.split('--> statement-breakpoint').map((it) => {\n\t\t\t\treturn it;\n\t\t\t});\n\n\t\t\tconst migrationDate = formatToMillis(key.slice(0, 14));\n\n\t\t\tmigrationQueries.push({\n\t\t\t\tsql: result,\n\t\t\t\tbps: true,\n\t\t\t\tfolderMillis: migrationDate,\n\t\t\t\thash: '',\n\t\t\t\tname: key,\n\t\t\t});\n\t\t} catch {\n\t\t\tthrow new Error(`Failed to parse migration: ${key}`);\n\t\t}\n\t}\n\n\treturn migrationQueries;\n}\n\nexport async function migrate<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(\n\tdb: OPSQLiteDatabase<TSchema, TRelations>,\n\tconfig: MigrationConfig,\n) {\n\tconst migrations = await readMigrationFiles(config);\n\treturn await db.dialect.migrate(migrations, db);\n}\n\ninterface State {\n\tsuccess: boolean;\n\terror?: Error;\n}\n\ntype Action =\n\t| { type: 'migrating' }\n\t| { type: 'migrated'; payload: true }\n\t| { type: 'error'; payload: Error };\n\nexport const useMigrations = (db: OPSQLiteDatabase<any, any>, migrations: {\n\tmigrations: Record<string, string>;\n}): State => {\n\tconst initialState: State = {\n\t\tsuccess: false,\n\t\terror: undefined,\n\t};\n\n\tconst fetchReducer = (state: State, action: Action): State => {\n\t\tswitch (action.type) {\n\t\t\tcase 'migrating': {\n\t\t\t\treturn { ...initialState };\n\t\t\t}\n\t\t\tcase 'migrated': {\n\t\t\t\treturn { ...initialState, success: action.payload };\n\t\t\t}\n\t\t\tcase 'error': {\n\t\t\t\treturn { ...initialState, error: action.payload };\n\t\t\t}\n\t\t\tdefault: {\n\t\t\t\treturn state;\n\t\t\t}\n\t\t}\n\t};\n\n\tconst [state, dispatch] = useReducer(fetchReducer, initialState);\n\n\tuseEffect(() => {\n\t\tdispatch({ type: 'migrating' });\n\t\tmigrate(db, migrations).then(() => {\n\t\t\tdispatch({ type: 'migrated', payload: true });\n\t\t}).catch((error) => {\n\t\t\tdispatch({ type: 'error', payload: error as Error });\n\t\t});\n\t}, []);\n\n\treturn state;\n};\n"],"mappings":";;;;AAUA,eAAe,mBAAmB,EAAE,cAAyD;CAC5F,MAAM,mBAAoC,EAAE;CAE5C,MAAM,mBAAmB,OAAO,KAAK,WAAW,CAAC,MAAM;AAEvD,MAAK,MAAM,OAAO,kBAAkB;EACnC,MAAM,QAAQ,WAAW;AACzB,MAAI,CAAC,MACJ,OAAM,IAAI,MAAM,sBAAsB,MAAM;AAG7C,MAAI;GACH,MAAM,SAAS,MAAM,MAAM,2BAA2B,CAAC,KAAK,OAAO;AAClE,WAAO;KACN;GAEF,MAAM,gBAAgB,eAAe,IAAI,MAAM,GAAG,GAAG,CAAC;AAEtD,oBAAiB,KAAK;IACrB,KAAK;IACL,KAAK;IACL,cAAc;IACd,MAAM;IACN,MAAM;IACN,CAAC;UACK;AACP,SAAM,IAAI,MAAM,8BAA8B,MAAM;;;AAItD,QAAO;;AAGR,eAAsB,QACrB,IACA,QACC;CACD,MAAM,aAAa,MAAM,mBAAmB,OAAO;AACnD,QAAO,MAAM,GAAG,QAAQ,QAAQ,YAAY,GAAG;;AAahD,MAAa,iBAAiB,IAAgC,eAEjD;CACZ,MAAM,eAAsB;EAC3B,SAAS;EACT,OAAO;EACP;CAED,MAAM,gBAAgB,OAAc,WAA0B;AAC7D,UAAQ,OAAO,MAAf;GACC,KAAK,YACJ,QAAO,EAAE,GAAG,cAAc;GAE3B,KAAK,WACJ,QAAO;IAAE,GAAG;IAAc,SAAS,OAAO;IAAS;GAEpD,KAAK,QACJ,QAAO;IAAE,GAAG;IAAc,OAAO,OAAO;IAAS;GAElD,QACC,QAAO;;;CAKV,MAAM,CAAC,OAAO,YAAY,WAAW,cAAc,aAAa;AAEhE,iBAAgB;AACf,WAAS,EAAE,MAAM,aAAa,CAAC;AAC/B,UAAQ,IAAI,WAAW,CAAC,WAAW;AAClC,YAAS;IAAE,MAAM;IAAY,SAAS;IAAM,CAAC;IAC5C,CAAC,OAAO,UAAU;AACnB,YAAS;IAAE,MAAM;IAAS,SAAS;IAAgB,CAAC;IACnD;IACA,EAAE,CAAC;AAEN,QAAO"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "drizzle-orm",
3
- "version": "1.0.0-beta.22-41a7d21",
3
+ "version": "1.0.0-beta.22-bf0fa46",
4
4
  "description": "Drizzle ORM package for SQL databases",
5
5
  "type": "module",
6
6
  "scripts": {
@@ -87,6 +87,12 @@
87
87
  "zod": "^3.25.0 || ^4.0.0"
88
88
  },
89
89
  "peerDependenciesMeta": {
90
+ "@types/mssql": {
91
+ "optional": true
92
+ },
93
+ "mssql": {
94
+ "optional": true
95
+ },
90
96
  "arktype": {
91
97
  "optional": true
92
98
  },
@@ -1318,6 +1324,18 @@
1318
1324
  "types": "./up-migrations/singlestore.d.ts",
1319
1325
  "default": "./up-migrations/singlestore.js"
1320
1326
  },
1327
+ "./up-migrations/mysql-proxy": {
1328
+ "import": {
1329
+ "types": "./up-migrations/mysql-proxy.d.ts",
1330
+ "default": "./up-migrations/mysql-proxy.js"
1331
+ },
1332
+ "require": {
1333
+ "types": "./up-migrations/mysql-proxy.d.cts",
1334
+ "default": "./up-migrations/mysql-proxy.cjs"
1335
+ },
1336
+ "types": "./up-migrations/mysql-proxy.d.ts",
1337
+ "default": "./up-migrations/mysql-proxy.js"
1338
+ },
1321
1339
  "./up-migrations/mssql": {
1322
1340
  "import": {
1323
1341
  "types": "./up-migrations/mssql.d.ts",
@@ -1330,6 +1348,54 @@
1330
1348
  "types": "./up-migrations/mssql.d.ts",
1331
1349
  "default": "./up-migrations/mssql.js"
1332
1350
  },
1351
+ "./up-migrations/sqlite-proxy": {
1352
+ "import": {
1353
+ "types": "./up-migrations/sqlite-proxy.d.ts",
1354
+ "default": "./up-migrations/sqlite-proxy.js"
1355
+ },
1356
+ "require": {
1357
+ "types": "./up-migrations/sqlite-proxy.d.cts",
1358
+ "default": "./up-migrations/sqlite-proxy.cjs"
1359
+ },
1360
+ "types": "./up-migrations/sqlite-proxy.d.ts",
1361
+ "default": "./up-migrations/sqlite-proxy.js"
1362
+ },
1363
+ "./up-migrations/utils": {
1364
+ "import": {
1365
+ "types": "./up-migrations/utils.d.ts",
1366
+ "default": "./up-migrations/utils.js"
1367
+ },
1368
+ "require": {
1369
+ "types": "./up-migrations/utils.d.cts",
1370
+ "default": "./up-migrations/utils.cjs"
1371
+ },
1372
+ "types": "./up-migrations/utils.d.ts",
1373
+ "default": "./up-migrations/utils.js"
1374
+ },
1375
+ "./up-migrations/pg-proxy": {
1376
+ "import": {
1377
+ "types": "./up-migrations/pg-proxy.d.ts",
1378
+ "default": "./up-migrations/pg-proxy.js"
1379
+ },
1380
+ "require": {
1381
+ "types": "./up-migrations/pg-proxy.d.cts",
1382
+ "default": "./up-migrations/pg-proxy.cjs"
1383
+ },
1384
+ "types": "./up-migrations/pg-proxy.d.ts",
1385
+ "default": "./up-migrations/pg-proxy.js"
1386
+ },
1387
+ "./up-migrations/singlestore-proxy": {
1388
+ "import": {
1389
+ "types": "./up-migrations/singlestore-proxy.d.ts",
1390
+ "default": "./up-migrations/singlestore-proxy.js"
1391
+ },
1392
+ "require": {
1393
+ "types": "./up-migrations/singlestore-proxy.d.cts",
1394
+ "default": "./up-migrations/singlestore-proxy.cjs"
1395
+ },
1396
+ "types": "./up-migrations/singlestore-proxy.d.ts",
1397
+ "default": "./up-migrations/singlestore-proxy.js"
1398
+ },
1333
1399
  "./up-migrations/sqlite": {
1334
1400
  "import": {
1335
1401
  "types": "./up-migrations/sqlite.d.ts",
@@ -1438,18 +1504,6 @@
1438
1504
  "types": "./sqlite-proxy/index.d.ts",
1439
1505
  "default": "./sqlite-proxy/index.js"
1440
1506
  },
1441
- "./sqlite-proxy/migrator.internal": {
1442
- "import": {
1443
- "types": "./sqlite-proxy/migrator.internal.d.ts",
1444
- "default": "./sqlite-proxy/migrator.internal.js"
1445
- },
1446
- "require": {
1447
- "types": "./sqlite-proxy/migrator.internal.d.cts",
1448
- "default": "./sqlite-proxy/migrator.internal.cjs"
1449
- },
1450
- "types": "./sqlite-proxy/migrator.internal.d.ts",
1451
- "default": "./sqlite-proxy/migrator.internal.js"
1452
- },
1453
1507
  "./sqlite-proxy/migrator": {
1454
1508
  "import": {
1455
1509
  "types": "./sqlite-proxy/migrator.d.ts",
@@ -3,7 +3,7 @@ const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
3
3
  let __sql_sql_ts = require("../sql/sql.cjs");
4
4
  let __migrator_ts = require("../migrator.cjs");
5
5
  let __migrator_utils_ts = require("../migrator.utils.cjs");
6
- let __up_migrations_pg_ts = require("../up-migrations/pg.cjs");
6
+ let __up_migrations_pg_proxy_ts = require("../up-migrations/pg-proxy.cjs");
7
7
 
8
8
  //#region src/pg-proxy/migrator.ts
9
9
  async function migrate(db, callback, config) {
@@ -11,7 +11,7 @@ async function migrate(db, callback, config) {
11
11
  const migrationsSchema = typeof config === "string" ? "drizzle" : config.migrationsSchema ?? "drizzle";
12
12
  await db.execute(__sql_sql_ts.sql`CREATE SCHEMA IF NOT EXISTS ${__sql_sql_ts.sql.identifier(migrationsSchema)}`);
13
13
  const migrationsTable = typeof config === "string" ? "__drizzle_migrations" : config.migrationsTable ?? "__drizzle_migrations";
14
- const { newDb } = await (0, __up_migrations_pg_ts.upgradeIfNeeded)(migrationsSchema, migrationsTable, db, migrations, "execute");
14
+ const { newDb } = await (0, __up_migrations_pg_proxy_ts.upgradeIfNeeded)(migrationsSchema, migrationsTable, db, callback, migrations);
15
15
  if (newDb) {
16
16
  const migrationTableCreate = __sql_sql_ts.sql`
17
17
  CREATE TABLE IF NOT EXISTS ${__sql_sql_ts.sql.identifier(migrationsSchema)}.${__sql_sql_ts.sql.identifier(migrationsTable)} (
@@ -1 +1 @@
1
- {"version":3,"file":"migrator.cjs","names":["sql"],"sources":["../../src/pg-proxy/migrator.ts"],"sourcesContent":["import type { MigrationConfig } from '~/migrator.ts';\nimport { readMigrationFiles } from '~/migrator.ts';\nimport { getMigrationsToRun } from '~/migrator.utils.ts';\nimport type { AnyRelations } from '~/relations.ts';\nimport { sql } from '~/sql/sql.ts';\nimport { upgradeIfNeeded } from '~/up-migrations/pg.ts';\nimport type { PgRemoteDatabase } from './driver.ts';\n\nexport type ProxyMigrator = (migrationQueries: string[]) => Promise<void>;\n\nexport async function migrate<\n\tTSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n>(\n\tdb: PgRemoteDatabase<TSchema, TRelations>,\n\tcallback: ProxyMigrator,\n\tconfig: MigrationConfig,\n) {\n\tconst migrations = readMigrationFiles(config);\n\n\tconst migrationsSchema = typeof config === 'string' ? 'drizzle' : config.migrationsSchema ?? 'drizzle';\n\tawait db.execute(sql`CREATE SCHEMA IF NOT EXISTS ${sql.identifier(migrationsSchema)}`);\n\n\tconst migrationsTable = typeof config === 'string'\n\t\t? '__drizzle_migrations'\n\t\t: config.migrationsTable ?? '__drizzle_migrations';\n\n\t// Detect DB version and upgrade table schema if needed\n\tconst { newDb } = await upgradeIfNeeded(migrationsSchema, migrationsTable, db, migrations, 'execute');\n\n\tif (newDb) {\n\t\tconst migrationTableCreate = sql`\n\t\tCREATE TABLE IF NOT EXISTS ${sql.identifier(migrationsSchema)}.${sql.identifier(migrationsTable)} (\n\t\t\tid SERIAL PRIMARY KEY,\n\t\t\thash text NOT NULL,\n\t\t\tcreated_at bigint,\n\t\t\tname text,\n\t\t\tapplied_at timestamp with time zone DEFAULT now()\n\t\t)`;\n\t\tawait db.session.execute(migrationTableCreate);\n\t}\n\n\tconst dbMigrations = await db.execute<{ id: number; hash: string; created_at: string; name: string | null }>(\n\t\tsql`select id, hash, created_at, name from ${sql.identifier(migrationsSchema)}.${sql.identifier(migrationsTable)}`,\n\t);\n\n\tif (typeof config === 'object' && config.init) {\n\t\tif (dbMigrations.length) {\n\t\t\treturn { exitCode: 'databaseMigrations' as const };\n\t\t}\n\n\t\tif (migrations.length > 1) {\n\t\t\treturn { exitCode: 'localMigrations' as const };\n\t\t}\n\n\t\tconst [migration] = migrations;\n\n\t\tif (!migration) return;\n\n\t\tawait callback(\n\t\t\t[\n\t\t\t\tdb.dialect.sqlToQuery(\n\t\t\t\t\tsql`insert into ${sql.identifier(migrationsSchema)}.${\n\t\t\t\t\t\tsql.identifier(migrationsTable)\n\t\t\t\t\t} (\"hash\", \"created_at\", \"name\") values(${migration.hash}, ${migration.folderMillis}, ${migration.name})`\n\t\t\t\t\t\t.inlineParams(),\n\t\t\t\t).sql,\n\t\t\t],\n\t\t);\n\n\t\treturn;\n\t}\n\n\tconst migrationsToRun = getMigrationsToRun({ localMigrations: migrations, dbMigrations });\n\tconst queriesToRun: string[] = [];\n\tfor (const migration of migrationsToRun) {\n\t\tqueriesToRun.push(\n\t\t\t...migration.sql,\n\t\t\tdb.dialect.sqlToQuery(\n\t\t\t\tsql`insert into ${sql.identifier(migrationsSchema)}.${\n\t\t\t\t\tsql.identifier(migrationsTable)\n\t\t\t\t} (\"hash\", \"created_at\", \"name\") values(${migration.hash}, ${migration.folderMillis}, ${migration.name})`\n\t\t\t\t\t.inlineParams(),\n\t\t\t).sql,\n\t\t);\n\t}\n\n\tawait callback(queriesToRun);\n\n\treturn;\n}\n"],"mappings":";;;;;;;;AAUA,eAAsB,QAIrB,IACA,UACA,QACC;CACD,MAAM,mDAAgC,OAAO;CAE7C,MAAM,mBAAmB,OAAO,WAAW,WAAW,YAAY,OAAO,oBAAoB;AAC7F,OAAM,GAAG,QAAQ,gBAAG,+BAA+BA,iBAAI,WAAW,iBAAiB,GAAG;CAEtF,MAAM,kBAAkB,OAAO,WAAW,WACvC,yBACA,OAAO,mBAAmB;CAG7B,MAAM,EAAE,UAAU,iDAAsB,kBAAkB,iBAAiB,IAAI,YAAY,UAAU;AAErG,KAAI,OAAO;EACV,MAAM,uBAAuB,gBAAG;+BACHA,iBAAI,WAAW,iBAAiB,CAAC,GAAGA,iBAAI,WAAW,gBAAgB,CAAC;;;;;;;AAOjG,QAAM,GAAG,QAAQ,QAAQ,qBAAqB;;CAG/C,MAAM,eAAe,MAAM,GAAG,QAC7B,gBAAG,0CAA0CA,iBAAI,WAAW,iBAAiB,CAAC,GAAGA,iBAAI,WAAW,gBAAgB,GAChH;AAED,KAAI,OAAO,WAAW,YAAY,OAAO,MAAM;AAC9C,MAAI,aAAa,OAChB,QAAO,EAAE,UAAU,sBAA+B;AAGnD,MAAI,WAAW,SAAS,EACvB,QAAO,EAAE,UAAU,mBAA4B;EAGhD,MAAM,CAAC,aAAa;AAEpB,MAAI,CAAC,UAAW;AAEhB,QAAM,SACL,CACC,GAAG,QAAQ,WACV,gBAAG,eAAeA,iBAAI,WAAW,iBAAiB,CAAC,GAClDA,iBAAI,WAAW,gBAAgB,CAC/B,yCAAyC,UAAU,KAAK,IAAI,UAAU,aAAa,IAAI,UAAU,KAAK,GACrG,cAAc,CAChB,CAAC,IACF,CACD;AAED;;CAGD,MAAM,8DAAqC;EAAE,iBAAiB;EAAY;EAAc,CAAC;CACzF,MAAM,eAAyB,EAAE;AACjC,MAAK,MAAM,aAAa,gBACvB,cAAa,KACZ,GAAG,UAAU,KACb,GAAG,QAAQ,WACV,gBAAG,eAAeA,iBAAI,WAAW,iBAAiB,CAAC,GAClDA,iBAAI,WAAW,gBAAgB,CAC/B,yCAAyC,UAAU,KAAK,IAAI,UAAU,aAAa,IAAI,UAAU,KAAK,GACrG,cAAc,CAChB,CAAC,IACF;AAGF,OAAM,SAAS,aAAa"}
1
+ {"version":3,"file":"migrator.cjs","names":["sql"],"sources":["../../src/pg-proxy/migrator.ts"],"sourcesContent":["import type { MigrationConfig } from '~/migrator.ts';\nimport { readMigrationFiles } from '~/migrator.ts';\nimport { getMigrationsToRun } from '~/migrator.utils.ts';\nimport type { AnyRelations } from '~/relations.ts';\nimport { sql } from '~/sql/sql.ts';\nimport { upgradeIfNeeded } from '~/up-migrations/pg-proxy.ts';\nimport type { PgRemoteDatabase } from './driver.ts';\n\nexport type ProxyMigrator = (migrationQueries: string[]) => Promise<void>;\n\nexport async function migrate<\n\tTSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n>(\n\tdb: PgRemoteDatabase<TSchema, TRelations>,\n\tcallback: ProxyMigrator,\n\tconfig: MigrationConfig,\n) {\n\tconst migrations = readMigrationFiles(config);\n\n\tconst migrationsSchema = typeof config === 'string' ? 'drizzle' : config.migrationsSchema ?? 'drizzle';\n\tawait db.execute(sql`CREATE SCHEMA IF NOT EXISTS ${sql.identifier(migrationsSchema)}`);\n\n\tconst migrationsTable = typeof config === 'string'\n\t\t? '__drizzle_migrations'\n\t\t: config.migrationsTable ?? '__drizzle_migrations';\n\n\t// Detect DB version and upgrade table schema if needed\n\tconst { newDb } = await upgradeIfNeeded(migrationsSchema, migrationsTable, db, callback, migrations);\n\n\tif (newDb) {\n\t\tconst migrationTableCreate = sql`\n\t\tCREATE TABLE IF NOT EXISTS ${sql.identifier(migrationsSchema)}.${sql.identifier(migrationsTable)} (\n\t\t\tid SERIAL PRIMARY KEY,\n\t\t\thash text NOT NULL,\n\t\t\tcreated_at bigint,\n\t\t\tname text,\n\t\t\tapplied_at timestamp with time zone DEFAULT now()\n\t\t)`;\n\t\tawait db.session.execute(migrationTableCreate);\n\t}\n\n\tconst dbMigrations = await db.execute<{ id: number; hash: string; created_at: string; name: string | null }>(\n\t\tsql`select id, hash, created_at, name from ${sql.identifier(migrationsSchema)}.${sql.identifier(migrationsTable)}`,\n\t);\n\n\tif (typeof config === 'object' && config.init) {\n\t\tif (dbMigrations.length) {\n\t\t\treturn { exitCode: 'databaseMigrations' as const };\n\t\t}\n\n\t\tif (migrations.length > 1) {\n\t\t\treturn { exitCode: 'localMigrations' as const };\n\t\t}\n\n\t\tconst [migration] = migrations;\n\n\t\tif (!migration) return;\n\n\t\tawait callback(\n\t\t\t[\n\t\t\t\tdb.dialect.sqlToQuery(\n\t\t\t\t\tsql`insert into ${sql.identifier(migrationsSchema)}.${\n\t\t\t\t\t\tsql.identifier(migrationsTable)\n\t\t\t\t\t} (\"hash\", \"created_at\", \"name\") values(${migration.hash}, ${migration.folderMillis}, ${migration.name})`\n\t\t\t\t\t\t.inlineParams(),\n\t\t\t\t).sql,\n\t\t\t],\n\t\t);\n\n\t\treturn;\n\t}\n\n\tconst migrationsToRun = getMigrationsToRun({ localMigrations: migrations, dbMigrations });\n\tconst queriesToRun: string[] = [];\n\tfor (const migration of migrationsToRun) {\n\t\tqueriesToRun.push(\n\t\t\t...migration.sql,\n\t\t\tdb.dialect.sqlToQuery(\n\t\t\t\tsql`insert into ${sql.identifier(migrationsSchema)}.${\n\t\t\t\t\tsql.identifier(migrationsTable)\n\t\t\t\t} (\"hash\", \"created_at\", \"name\") values(${migration.hash}, ${migration.folderMillis}, ${migration.name})`\n\t\t\t\t\t.inlineParams(),\n\t\t\t).sql,\n\t\t);\n\t}\n\n\tawait callback(queriesToRun);\n\n\treturn;\n}\n"],"mappings":";;;;;;;;AAUA,eAAsB,QAIrB,IACA,UACA,QACC;CACD,MAAM,mDAAgC,OAAO;CAE7C,MAAM,mBAAmB,OAAO,WAAW,WAAW,YAAY,OAAO,oBAAoB;AAC7F,OAAM,GAAG,QAAQ,gBAAG,+BAA+BA,iBAAI,WAAW,iBAAiB,GAAG;CAEtF,MAAM,kBAAkB,OAAO,WAAW,WACvC,yBACA,OAAO,mBAAmB;CAG7B,MAAM,EAAE,UAAU,uDAAsB,kBAAkB,iBAAiB,IAAI,UAAU,WAAW;AAEpG,KAAI,OAAO;EACV,MAAM,uBAAuB,gBAAG;+BACHA,iBAAI,WAAW,iBAAiB,CAAC,GAAGA,iBAAI,WAAW,gBAAgB,CAAC;;;;;;;AAOjG,QAAM,GAAG,QAAQ,QAAQ,qBAAqB;;CAG/C,MAAM,eAAe,MAAM,GAAG,QAC7B,gBAAG,0CAA0CA,iBAAI,WAAW,iBAAiB,CAAC,GAAGA,iBAAI,WAAW,gBAAgB,GAChH;AAED,KAAI,OAAO,WAAW,YAAY,OAAO,MAAM;AAC9C,MAAI,aAAa,OAChB,QAAO,EAAE,UAAU,sBAA+B;AAGnD,MAAI,WAAW,SAAS,EACvB,QAAO,EAAE,UAAU,mBAA4B;EAGhD,MAAM,CAAC,aAAa;AAEpB,MAAI,CAAC,UAAW;AAEhB,QAAM,SACL,CACC,GAAG,QAAQ,WACV,gBAAG,eAAeA,iBAAI,WAAW,iBAAiB,CAAC,GAClDA,iBAAI,WAAW,gBAAgB,CAC/B,yCAAyC,UAAU,KAAK,IAAI,UAAU,aAAa,IAAI,UAAU,KAAK,GACrG,cAAc,CAChB,CAAC,IACF,CACD;AAED;;CAGD,MAAM,8DAAqC;EAAE,iBAAiB;EAAY;EAAc,CAAC;CACzF,MAAM,eAAyB,EAAE;AACjC,MAAK,MAAM,aAAa,gBACvB,cAAa,KACZ,GAAG,UAAU,KACb,GAAG,QAAQ,WACV,gBAAG,eAAeA,iBAAI,WAAW,iBAAiB,CAAC,GAClDA,iBAAI,WAAW,gBAAgB,CAC/B,yCAAyC,UAAU,KAAK,IAAI,UAAU,aAAa,IAAI,UAAU,KAAK,GACrG,cAAc,CAChB,CAAC,IACF;AAGF,OAAM,SAAS,aAAa"}
@@ -1,7 +1,7 @@
1
1
  import { sql } from "../sql/sql.js";
2
2
  import { readMigrationFiles } from "../migrator.js";
3
3
  import { getMigrationsToRun } from "../migrator.utils.js";
4
- import { upgradeIfNeeded } from "../up-migrations/pg.js";
4
+ import { upgradeIfNeeded } from "../up-migrations/pg-proxy.js";
5
5
 
6
6
  //#region src/pg-proxy/migrator.ts
7
7
  async function migrate(db, callback, config) {
@@ -9,7 +9,7 @@ async function migrate(db, callback, config) {
9
9
  const migrationsSchema = typeof config === "string" ? "drizzle" : config.migrationsSchema ?? "drizzle";
10
10
  await db.execute(sql`CREATE SCHEMA IF NOT EXISTS ${sql.identifier(migrationsSchema)}`);
11
11
  const migrationsTable = typeof config === "string" ? "__drizzle_migrations" : config.migrationsTable ?? "__drizzle_migrations";
12
- const { newDb } = await upgradeIfNeeded(migrationsSchema, migrationsTable, db, migrations, "execute");
12
+ const { newDb } = await upgradeIfNeeded(migrationsSchema, migrationsTable, db, callback, migrations);
13
13
  if (newDb) {
14
14
  const migrationTableCreate = sql`
15
15
  CREATE TABLE IF NOT EXISTS ${sql.identifier(migrationsSchema)}.${sql.identifier(migrationsTable)} (
@@ -1 +1 @@
1
- {"version":3,"file":"migrator.js","names":[],"sources":["../../src/pg-proxy/migrator.ts"],"sourcesContent":["import type { MigrationConfig } from '~/migrator.ts';\nimport { readMigrationFiles } from '~/migrator.ts';\nimport { getMigrationsToRun } from '~/migrator.utils.ts';\nimport type { AnyRelations } from '~/relations.ts';\nimport { sql } from '~/sql/sql.ts';\nimport { upgradeIfNeeded } from '~/up-migrations/pg.ts';\nimport type { PgRemoteDatabase } from './driver.ts';\n\nexport type ProxyMigrator = (migrationQueries: string[]) => Promise<void>;\n\nexport async function migrate<\n\tTSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n>(\n\tdb: PgRemoteDatabase<TSchema, TRelations>,\n\tcallback: ProxyMigrator,\n\tconfig: MigrationConfig,\n) {\n\tconst migrations = readMigrationFiles(config);\n\n\tconst migrationsSchema = typeof config === 'string' ? 'drizzle' : config.migrationsSchema ?? 'drizzle';\n\tawait db.execute(sql`CREATE SCHEMA IF NOT EXISTS ${sql.identifier(migrationsSchema)}`);\n\n\tconst migrationsTable = typeof config === 'string'\n\t\t? '__drizzle_migrations'\n\t\t: config.migrationsTable ?? '__drizzle_migrations';\n\n\t// Detect DB version and upgrade table schema if needed\n\tconst { newDb } = await upgradeIfNeeded(migrationsSchema, migrationsTable, db, migrations, 'execute');\n\n\tif (newDb) {\n\t\tconst migrationTableCreate = sql`\n\t\tCREATE TABLE IF NOT EXISTS ${sql.identifier(migrationsSchema)}.${sql.identifier(migrationsTable)} (\n\t\t\tid SERIAL PRIMARY KEY,\n\t\t\thash text NOT NULL,\n\t\t\tcreated_at bigint,\n\t\t\tname text,\n\t\t\tapplied_at timestamp with time zone DEFAULT now()\n\t\t)`;\n\t\tawait db.session.execute(migrationTableCreate);\n\t}\n\n\tconst dbMigrations = await db.execute<{ id: number; hash: string; created_at: string; name: string | null }>(\n\t\tsql`select id, hash, created_at, name from ${sql.identifier(migrationsSchema)}.${sql.identifier(migrationsTable)}`,\n\t);\n\n\tif (typeof config === 'object' && config.init) {\n\t\tif (dbMigrations.length) {\n\t\t\treturn { exitCode: 'databaseMigrations' as const };\n\t\t}\n\n\t\tif (migrations.length > 1) {\n\t\t\treturn { exitCode: 'localMigrations' as const };\n\t\t}\n\n\t\tconst [migration] = migrations;\n\n\t\tif (!migration) return;\n\n\t\tawait callback(\n\t\t\t[\n\t\t\t\tdb.dialect.sqlToQuery(\n\t\t\t\t\tsql`insert into ${sql.identifier(migrationsSchema)}.${\n\t\t\t\t\t\tsql.identifier(migrationsTable)\n\t\t\t\t\t} (\"hash\", \"created_at\", \"name\") values(${migration.hash}, ${migration.folderMillis}, ${migration.name})`\n\t\t\t\t\t\t.inlineParams(),\n\t\t\t\t).sql,\n\t\t\t],\n\t\t);\n\n\t\treturn;\n\t}\n\n\tconst migrationsToRun = getMigrationsToRun({ localMigrations: migrations, dbMigrations });\n\tconst queriesToRun: string[] = [];\n\tfor (const migration of migrationsToRun) {\n\t\tqueriesToRun.push(\n\t\t\t...migration.sql,\n\t\t\tdb.dialect.sqlToQuery(\n\t\t\t\tsql`insert into ${sql.identifier(migrationsSchema)}.${\n\t\t\t\t\tsql.identifier(migrationsTable)\n\t\t\t\t} (\"hash\", \"created_at\", \"name\") values(${migration.hash}, ${migration.folderMillis}, ${migration.name})`\n\t\t\t\t\t.inlineParams(),\n\t\t\t).sql,\n\t\t);\n\t}\n\n\tawait callback(queriesToRun);\n\n\treturn;\n}\n"],"mappings":";;;;;;AAUA,eAAsB,QAIrB,IACA,UACA,QACC;CACD,MAAM,aAAa,mBAAmB,OAAO;CAE7C,MAAM,mBAAmB,OAAO,WAAW,WAAW,YAAY,OAAO,oBAAoB;AAC7F,OAAM,GAAG,QAAQ,GAAG,+BAA+B,IAAI,WAAW,iBAAiB,GAAG;CAEtF,MAAM,kBAAkB,OAAO,WAAW,WACvC,yBACA,OAAO,mBAAmB;CAG7B,MAAM,EAAE,UAAU,MAAM,gBAAgB,kBAAkB,iBAAiB,IAAI,YAAY,UAAU;AAErG,KAAI,OAAO;EACV,MAAM,uBAAuB,GAAG;+BACH,IAAI,WAAW,iBAAiB,CAAC,GAAG,IAAI,WAAW,gBAAgB,CAAC;;;;;;;AAOjG,QAAM,GAAG,QAAQ,QAAQ,qBAAqB;;CAG/C,MAAM,eAAe,MAAM,GAAG,QAC7B,GAAG,0CAA0C,IAAI,WAAW,iBAAiB,CAAC,GAAG,IAAI,WAAW,gBAAgB,GAChH;AAED,KAAI,OAAO,WAAW,YAAY,OAAO,MAAM;AAC9C,MAAI,aAAa,OAChB,QAAO,EAAE,UAAU,sBAA+B;AAGnD,MAAI,WAAW,SAAS,EACvB,QAAO,EAAE,UAAU,mBAA4B;EAGhD,MAAM,CAAC,aAAa;AAEpB,MAAI,CAAC,UAAW;AAEhB,QAAM,SACL,CACC,GAAG,QAAQ,WACV,GAAG,eAAe,IAAI,WAAW,iBAAiB,CAAC,GAClD,IAAI,WAAW,gBAAgB,CAC/B,yCAAyC,UAAU,KAAK,IAAI,UAAU,aAAa,IAAI,UAAU,KAAK,GACrG,cAAc,CAChB,CAAC,IACF,CACD;AAED;;CAGD,MAAM,kBAAkB,mBAAmB;EAAE,iBAAiB;EAAY;EAAc,CAAC;CACzF,MAAM,eAAyB,EAAE;AACjC,MAAK,MAAM,aAAa,gBACvB,cAAa,KACZ,GAAG,UAAU,KACb,GAAG,QAAQ,WACV,GAAG,eAAe,IAAI,WAAW,iBAAiB,CAAC,GAClD,IAAI,WAAW,gBAAgB,CAC/B,yCAAyC,UAAU,KAAK,IAAI,UAAU,aAAa,IAAI,UAAU,KAAK,GACrG,cAAc,CAChB,CAAC,IACF;AAGF,OAAM,SAAS,aAAa"}
1
+ {"version":3,"file":"migrator.js","names":[],"sources":["../../src/pg-proxy/migrator.ts"],"sourcesContent":["import type { MigrationConfig } from '~/migrator.ts';\nimport { readMigrationFiles } from '~/migrator.ts';\nimport { getMigrationsToRun } from '~/migrator.utils.ts';\nimport type { AnyRelations } from '~/relations.ts';\nimport { sql } from '~/sql/sql.ts';\nimport { upgradeIfNeeded } from '~/up-migrations/pg-proxy.ts';\nimport type { PgRemoteDatabase } from './driver.ts';\n\nexport type ProxyMigrator = (migrationQueries: string[]) => Promise<void>;\n\nexport async function migrate<\n\tTSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n>(\n\tdb: PgRemoteDatabase<TSchema, TRelations>,\n\tcallback: ProxyMigrator,\n\tconfig: MigrationConfig,\n) {\n\tconst migrations = readMigrationFiles(config);\n\n\tconst migrationsSchema = typeof config === 'string' ? 'drizzle' : config.migrationsSchema ?? 'drizzle';\n\tawait db.execute(sql`CREATE SCHEMA IF NOT EXISTS ${sql.identifier(migrationsSchema)}`);\n\n\tconst migrationsTable = typeof config === 'string'\n\t\t? '__drizzle_migrations'\n\t\t: config.migrationsTable ?? '__drizzle_migrations';\n\n\t// Detect DB version and upgrade table schema if needed\n\tconst { newDb } = await upgradeIfNeeded(migrationsSchema, migrationsTable, db, callback, migrations);\n\n\tif (newDb) {\n\t\tconst migrationTableCreate = sql`\n\t\tCREATE TABLE IF NOT EXISTS ${sql.identifier(migrationsSchema)}.${sql.identifier(migrationsTable)} (\n\t\t\tid SERIAL PRIMARY KEY,\n\t\t\thash text NOT NULL,\n\t\t\tcreated_at bigint,\n\t\t\tname text,\n\t\t\tapplied_at timestamp with time zone DEFAULT now()\n\t\t)`;\n\t\tawait db.session.execute(migrationTableCreate);\n\t}\n\n\tconst dbMigrations = await db.execute<{ id: number; hash: string; created_at: string; name: string | null }>(\n\t\tsql`select id, hash, created_at, name from ${sql.identifier(migrationsSchema)}.${sql.identifier(migrationsTable)}`,\n\t);\n\n\tif (typeof config === 'object' && config.init) {\n\t\tif (dbMigrations.length) {\n\t\t\treturn { exitCode: 'databaseMigrations' as const };\n\t\t}\n\n\t\tif (migrations.length > 1) {\n\t\t\treturn { exitCode: 'localMigrations' as const };\n\t\t}\n\n\t\tconst [migration] = migrations;\n\n\t\tif (!migration) return;\n\n\t\tawait callback(\n\t\t\t[\n\t\t\t\tdb.dialect.sqlToQuery(\n\t\t\t\t\tsql`insert into ${sql.identifier(migrationsSchema)}.${\n\t\t\t\t\t\tsql.identifier(migrationsTable)\n\t\t\t\t\t} (\"hash\", \"created_at\", \"name\") values(${migration.hash}, ${migration.folderMillis}, ${migration.name})`\n\t\t\t\t\t\t.inlineParams(),\n\t\t\t\t).sql,\n\t\t\t],\n\t\t);\n\n\t\treturn;\n\t}\n\n\tconst migrationsToRun = getMigrationsToRun({ localMigrations: migrations, dbMigrations });\n\tconst queriesToRun: string[] = [];\n\tfor (const migration of migrationsToRun) {\n\t\tqueriesToRun.push(\n\t\t\t...migration.sql,\n\t\t\tdb.dialect.sqlToQuery(\n\t\t\t\tsql`insert into ${sql.identifier(migrationsSchema)}.${\n\t\t\t\t\tsql.identifier(migrationsTable)\n\t\t\t\t} (\"hash\", \"created_at\", \"name\") values(${migration.hash}, ${migration.folderMillis}, ${migration.name})`\n\t\t\t\t\t.inlineParams(),\n\t\t\t).sql,\n\t\t);\n\t}\n\n\tawait callback(queriesToRun);\n\n\treturn;\n}\n"],"mappings":";;;;;;AAUA,eAAsB,QAIrB,IACA,UACA,QACC;CACD,MAAM,aAAa,mBAAmB,OAAO;CAE7C,MAAM,mBAAmB,OAAO,WAAW,WAAW,YAAY,OAAO,oBAAoB;AAC7F,OAAM,GAAG,QAAQ,GAAG,+BAA+B,IAAI,WAAW,iBAAiB,GAAG;CAEtF,MAAM,kBAAkB,OAAO,WAAW,WACvC,yBACA,OAAO,mBAAmB;CAG7B,MAAM,EAAE,UAAU,MAAM,gBAAgB,kBAAkB,iBAAiB,IAAI,UAAU,WAAW;AAEpG,KAAI,OAAO;EACV,MAAM,uBAAuB,GAAG;+BACH,IAAI,WAAW,iBAAiB,CAAC,GAAG,IAAI,WAAW,gBAAgB,CAAC;;;;;;;AAOjG,QAAM,GAAG,QAAQ,QAAQ,qBAAqB;;CAG/C,MAAM,eAAe,MAAM,GAAG,QAC7B,GAAG,0CAA0C,IAAI,WAAW,iBAAiB,CAAC,GAAG,IAAI,WAAW,gBAAgB,GAChH;AAED,KAAI,OAAO,WAAW,YAAY,OAAO,MAAM;AAC9C,MAAI,aAAa,OAChB,QAAO,EAAE,UAAU,sBAA+B;AAGnD,MAAI,WAAW,SAAS,EACvB,QAAO,EAAE,UAAU,mBAA4B;EAGhD,MAAM,CAAC,aAAa;AAEpB,MAAI,CAAC,UAAW;AAEhB,QAAM,SACL,CACC,GAAG,QAAQ,WACV,GAAG,eAAe,IAAI,WAAW,iBAAiB,CAAC,GAClD,IAAI,WAAW,gBAAgB,CAC/B,yCAAyC,UAAU,KAAK,IAAI,UAAU,aAAa,IAAI,UAAU,KAAK,GACrG,cAAc,CAChB,CAAC,IACF,CACD;AAED;;CAGD,MAAM,kBAAkB,mBAAmB;EAAE,iBAAiB;EAAY;EAAc,CAAC;CACzF,MAAM,eAAyB,EAAE;AACjC,MAAK,MAAM,aAAa,gBACvB,cAAa,KACZ,GAAG,UAAU,KACb,GAAG,QAAQ,WACV,GAAG,eAAe,IAAI,WAAW,iBAAiB,CAAC,GAClD,IAAI,WAAW,gBAAgB,CAC/B,yCAAyC,UAAU,KAAK,IAAI,UAAU,aAAa,IAAI,UAAU,KAAK,GACrG,cAAc,CAChB,CAAC,IACF;AAGF,OAAM,SAAS,aAAa"}
@@ -3,13 +3,13 @@ const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
3
3
  let __sql_sql_ts = require("../sql/sql.cjs");
4
4
  let __migrator_ts = require("../migrator.cjs");
5
5
  let __migrator_utils_ts = require("../migrator.utils.cjs");
6
- let __up_migrations_singlestore_ts = require("../up-migrations/singlestore.cjs");
6
+ let __up_migrations_singlestore_proxy_ts = require("../up-migrations/singlestore-proxy.cjs");
7
7
 
8
8
  //#region src/singlestore-proxy/migrator.ts
9
9
  async function migrate(db, callback, config) {
10
10
  const migrations = (0, __migrator_ts.readMigrationFiles)(config);
11
11
  const migrationsTable = config.migrationsTable ?? "__drizzle_migrations";
12
- const { newDb } = await (0, __up_migrations_singlestore_ts.upgradeIfNeeded)(migrationsTable, db.session, migrations);
12
+ const { newDb } = await (0, __up_migrations_singlestore_proxy_ts.upgradeIfNeeded)(migrationsTable, db, callback, migrations);
13
13
  if (newDb) {
14
14
  const migrationTableCreate = __sql_sql_ts.sql`
15
15
  CREATE TABLE IF NOT EXISTS ${__sql_sql_ts.sql.identifier(migrationsTable)} (
@@ -1 +1 @@
1
- {"version":3,"file":"migrator.cjs","names":["sql"],"sources":["../../src/singlestore-proxy/migrator.ts"],"sourcesContent":["import type { MigrationConfig, MigratorInitFailResponse } from '~/migrator.ts';\nimport { readMigrationFiles } from '~/migrator.ts';\nimport { getMigrationsToRun } from '~/migrator.utils.ts';\nimport type { AnyRelations } from '~/relations.ts';\nimport { sql } from '~/sql/sql.ts';\nimport { upgradeIfNeeded } from '~/up-migrations/singlestore.ts';\nimport type { SingleStoreRemoteDatabase } from './driver.ts';\n\nexport type ProxyMigrator = (migrationQueries: string[]) => Promise<void>;\n\nexport async function migrate<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(\n\tdb: SingleStoreRemoteDatabase<TSchema, TRelations>,\n\tcallback: ProxyMigrator,\n\tconfig: MigrationConfig,\n): Promise<void | MigratorInitFailResponse> {\n\tconst migrations = readMigrationFiles(config);\n\n\tconst migrationsTable = config.migrationsTable ?? '__drizzle_migrations';\n\n\t// Detect DB version and upgrade table schema if needed\n\tconst { newDb } = await upgradeIfNeeded(migrationsTable, db.session, migrations);\n\n\tif (newDb) {\n\t\tconst migrationTableCreate = sql`\n\t\t\tCREATE TABLE IF NOT EXISTS ${sql.identifier(migrationsTable)} (\n\t\t\t\tid SERIAL PRIMARY KEY,\n\t\t\t\thash TEXT NOT NULL,\n\t\t\t\tcreated_at BIGINT,\n\t\t\t\tname TEXT,\n\t\t\t\tapplied_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP\n\t\t\t)\n\t\t`;\n\t\tawait db.session.execute(migrationTableCreate);\n\t}\n\n\tconst dbMigrations = await db.select({\n\t\tid: sql.raw('id'),\n\t\thash: sql.raw('hash'),\n\t\tcreated_at: sql.raw('created_at'),\n\t\tname: sql.raw('name'),\n\t}).from(sql.identifier(migrationsTable).getSQL()) as {\n\t\tid: number;\n\t\thash: string;\n\t\tcreated_at: string;\n\t\tname: string | null;\n\t}[];\n\n\tif (typeof config === 'object' && config.init) {\n\t\tif (dbMigrations.length) {\n\t\t\treturn { exitCode: 'databaseMigrations' as const };\n\t\t}\n\n\t\tif (migrations.length > 1) {\n\t\t\treturn { exitCode: 'localMigrations' as const };\n\t\t}\n\n\t\tconst [migration] = migrations;\n\n\t\tif (!migration) return;\n\n\t\tawait callback([\n\t\t\tdb.dialect.sqlToQuery(\n\t\t\t\tsql`insert into ${\n\t\t\t\t\tsql.identifier(migrationsTable)\n\t\t\t\t} (\\`hash\\`, \\`created_at\\`, \\`name\\`) values(${migration.hash}, '${migration.folderMillis}', ${migration.name})`\n\t\t\t\t\t.inlineParams(),\n\t\t\t).sql,\n\t\t]);\n\n\t\treturn;\n\t}\n\n\tconst migrationsToRun = getMigrationsToRun({ localMigrations: migrations, dbMigrations });\n\tconst queriesToRun: string[] = [];\n\tfor (const migration of migrationsToRun) {\n\t\tqueriesToRun.push(\n\t\t\t...migration.sql,\n\t\t\tdb.dialect.sqlToQuery(\n\t\t\t\tsql`insert into ${\n\t\t\t\t\tsql.identifier(migrationsTable)\n\t\t\t\t} (\\`hash\\`, \\`created_at\\`, \\`name\\`) values(${migration.hash}, '${migration.folderMillis}', ${migration.name})`\n\t\t\t\t\t.inlineParams(),\n\t\t\t).sql,\n\t\t);\n\t}\n\n\tawait callback(queriesToRun);\n\n\treturn;\n}\n"],"mappings":";;;;;;;;AAUA,eAAsB,QACrB,IACA,UACA,QAC2C;CAC3C,MAAM,mDAAgC,OAAO;CAE7C,MAAM,kBAAkB,OAAO,mBAAmB;CAGlD,MAAM,EAAE,UAAU,0DAAsB,iBAAiB,GAAG,SAAS,WAAW;AAEhF,KAAI,OAAO;EACV,MAAM,uBAAuB,gBAAG;gCACFA,iBAAI,WAAW,gBAAgB,CAAC;;;;;;;;AAQ9D,QAAM,GAAG,QAAQ,QAAQ,qBAAqB;;CAG/C,MAAM,eAAe,MAAM,GAAG,OAAO;EACpC,IAAIA,iBAAI,IAAI,KAAK;EACjB,MAAMA,iBAAI,IAAI,OAAO;EACrB,YAAYA,iBAAI,IAAI,aAAa;EACjC,MAAMA,iBAAI,IAAI,OAAO;EACrB,CAAC,CAAC,KAAKA,iBAAI,WAAW,gBAAgB,CAAC,QAAQ,CAAC;AAOjD,KAAI,OAAO,WAAW,YAAY,OAAO,MAAM;AAC9C,MAAI,aAAa,OAChB,QAAO,EAAE,UAAU,sBAA+B;AAGnD,MAAI,WAAW,SAAS,EACvB,QAAO,EAAE,UAAU,mBAA4B;EAGhD,MAAM,CAAC,aAAa;AAEpB,MAAI,CAAC,UAAW;AAEhB,QAAM,SAAS,CACd,GAAG,QAAQ,WACV,gBAAG,eACFA,iBAAI,WAAW,gBAAgB,CAC/B,+CAA+C,UAAU,KAAK,KAAK,UAAU,aAAa,KAAK,UAAU,KAAK,GAC7G,cAAc,CAChB,CAAC,IACF,CAAC;AAEF;;CAGD,MAAM,8DAAqC;EAAE,iBAAiB;EAAY;EAAc,CAAC;CACzF,MAAM,eAAyB,EAAE;AACjC,MAAK,MAAM,aAAa,gBACvB,cAAa,KACZ,GAAG,UAAU,KACb,GAAG,QAAQ,WACV,gBAAG,eACFA,iBAAI,WAAW,gBAAgB,CAC/B,+CAA+C,UAAU,KAAK,KAAK,UAAU,aAAa,KAAK,UAAU,KAAK,GAC7G,cAAc,CAChB,CAAC,IACF;AAGF,OAAM,SAAS,aAAa"}
1
+ {"version":3,"file":"migrator.cjs","names":["sql"],"sources":["../../src/singlestore-proxy/migrator.ts"],"sourcesContent":["import type { MigrationConfig, MigratorInitFailResponse } from '~/migrator.ts';\nimport { readMigrationFiles } from '~/migrator.ts';\nimport { getMigrationsToRun } from '~/migrator.utils.ts';\nimport type { AnyRelations } from '~/relations.ts';\nimport { sql } from '~/sql/sql.ts';\nimport { upgradeIfNeeded } from '~/up-migrations/singlestore-proxy.ts';\nimport type { SingleStoreRemoteDatabase } from './driver.ts';\n\nexport type ProxyMigrator = (migrationQueries: string[]) => Promise<void>;\n\nexport async function migrate<TSchema extends Record<string, unknown>, TRelations extends AnyRelations>(\n\tdb: SingleStoreRemoteDatabase<TSchema, TRelations>,\n\tcallback: ProxyMigrator,\n\tconfig: MigrationConfig,\n): Promise<void | MigratorInitFailResponse> {\n\tconst migrations = readMigrationFiles(config);\n\n\tconst migrationsTable = config.migrationsTable ?? '__drizzle_migrations';\n\n\t// Detect DB version and upgrade table schema if needed\n\tconst { newDb } = await upgradeIfNeeded(migrationsTable, db, callback, migrations);\n\n\tif (newDb) {\n\t\tconst migrationTableCreate = sql`\n\t\t\tCREATE TABLE IF NOT EXISTS ${sql.identifier(migrationsTable)} (\n\t\t\t\tid SERIAL PRIMARY KEY,\n\t\t\t\thash TEXT NOT NULL,\n\t\t\t\tcreated_at BIGINT,\n\t\t\t\tname TEXT,\n\t\t\t\tapplied_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP\n\t\t\t)\n\t\t`;\n\t\tawait db.session.execute(migrationTableCreate);\n\t}\n\n\tconst dbMigrations = await db.select({\n\t\tid: sql.raw('id'),\n\t\thash: sql.raw('hash'),\n\t\tcreated_at: sql.raw('created_at'),\n\t\tname: sql.raw('name'),\n\t}).from(sql.identifier(migrationsTable).getSQL()) as {\n\t\tid: number;\n\t\thash: string;\n\t\tcreated_at: string;\n\t\tname: string | null;\n\t}[];\n\n\tif (typeof config === 'object' && config.init) {\n\t\tif (dbMigrations.length) {\n\t\t\treturn { exitCode: 'databaseMigrations' as const };\n\t\t}\n\n\t\tif (migrations.length > 1) {\n\t\t\treturn { exitCode: 'localMigrations' as const };\n\t\t}\n\n\t\tconst [migration] = migrations;\n\n\t\tif (!migration) return;\n\n\t\tawait callback([\n\t\t\tdb.dialect.sqlToQuery(\n\t\t\t\tsql`insert into ${\n\t\t\t\t\tsql.identifier(migrationsTable)\n\t\t\t\t} (\\`hash\\`, \\`created_at\\`, \\`name\\`) values(${migration.hash}, '${migration.folderMillis}', ${migration.name})`\n\t\t\t\t\t.inlineParams(),\n\t\t\t).sql,\n\t\t]);\n\n\t\treturn;\n\t}\n\n\tconst migrationsToRun = getMigrationsToRun({ localMigrations: migrations, dbMigrations });\n\tconst queriesToRun: string[] = [];\n\tfor (const migration of migrationsToRun) {\n\t\tqueriesToRun.push(\n\t\t\t...migration.sql,\n\t\t\tdb.dialect.sqlToQuery(\n\t\t\t\tsql`insert into ${\n\t\t\t\t\tsql.identifier(migrationsTable)\n\t\t\t\t} (\\`hash\\`, \\`created_at\\`, \\`name\\`) values(${migration.hash}, '${migration.folderMillis}', ${migration.name})`\n\t\t\t\t\t.inlineParams(),\n\t\t\t).sql,\n\t\t);\n\t}\n\n\tawait callback(queriesToRun);\n\n\treturn;\n}\n"],"mappings":";;;;;;;;AAUA,eAAsB,QACrB,IACA,UACA,QAC2C;CAC3C,MAAM,mDAAgC,OAAO;CAE7C,MAAM,kBAAkB,OAAO,mBAAmB;CAGlD,MAAM,EAAE,UAAU,gEAAsB,iBAAiB,IAAI,UAAU,WAAW;AAElF,KAAI,OAAO;EACV,MAAM,uBAAuB,gBAAG;gCACFA,iBAAI,WAAW,gBAAgB,CAAC;;;;;;;;AAQ9D,QAAM,GAAG,QAAQ,QAAQ,qBAAqB;;CAG/C,MAAM,eAAe,MAAM,GAAG,OAAO;EACpC,IAAIA,iBAAI,IAAI,KAAK;EACjB,MAAMA,iBAAI,IAAI,OAAO;EACrB,YAAYA,iBAAI,IAAI,aAAa;EACjC,MAAMA,iBAAI,IAAI,OAAO;EACrB,CAAC,CAAC,KAAKA,iBAAI,WAAW,gBAAgB,CAAC,QAAQ,CAAC;AAOjD,KAAI,OAAO,WAAW,YAAY,OAAO,MAAM;AAC9C,MAAI,aAAa,OAChB,QAAO,EAAE,UAAU,sBAA+B;AAGnD,MAAI,WAAW,SAAS,EACvB,QAAO,EAAE,UAAU,mBAA4B;EAGhD,MAAM,CAAC,aAAa;AAEpB,MAAI,CAAC,UAAW;AAEhB,QAAM,SAAS,CACd,GAAG,QAAQ,WACV,gBAAG,eACFA,iBAAI,WAAW,gBAAgB,CAC/B,+CAA+C,UAAU,KAAK,KAAK,UAAU,aAAa,KAAK,UAAU,KAAK,GAC7G,cAAc,CAChB,CAAC,IACF,CAAC;AAEF;;CAGD,MAAM,8DAAqC;EAAE,iBAAiB;EAAY;EAAc,CAAC;CACzF,MAAM,eAAyB,EAAE;AACjC,MAAK,MAAM,aAAa,gBACvB,cAAa,KACZ,GAAG,UAAU,KACb,GAAG,QAAQ,WACV,gBAAG,eACFA,iBAAI,WAAW,gBAAgB,CAC/B,+CAA+C,UAAU,KAAK,KAAK,UAAU,aAAa,KAAK,UAAU,KAAK,GAC7G,cAAc,CAChB,CAAC,IACF;AAGF,OAAM,SAAS,aAAa"}
@@ -1,13 +1,13 @@
1
1
  import { sql } from "../sql/sql.js";
2
2
  import { readMigrationFiles } from "../migrator.js";
3
3
  import { getMigrationsToRun } from "../migrator.utils.js";
4
- import { upgradeIfNeeded } from "../up-migrations/singlestore.js";
4
+ import { upgradeIfNeeded } from "../up-migrations/singlestore-proxy.js";
5
5
 
6
6
  //#region src/singlestore-proxy/migrator.ts
7
7
  async function migrate(db, callback, config) {
8
8
  const migrations = readMigrationFiles(config);
9
9
  const migrationsTable = config.migrationsTable ?? "__drizzle_migrations";
10
- const { newDb } = await upgradeIfNeeded(migrationsTable, db.session, migrations);
10
+ const { newDb } = await upgradeIfNeeded(migrationsTable, db, callback, migrations);
11
11
  if (newDb) {
12
12
  const migrationTableCreate = sql`
13
13
  CREATE TABLE IF NOT EXISTS ${sql.identifier(migrationsTable)} (