drizzle-orm 1.0.0-beta.3-702eadc → 1.0.0-beta.4-4605abe

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.
package/migrator.cjs CHANGED
@@ -79,7 +79,7 @@ function readMigrationFiles(config) {
79
79
  const migrationFolderTo = config.migrationsFolder;
80
80
  const migrationQueries = [];
81
81
  const migrations = (0, import_node_fs.readdirSync)(migrationFolderTo).map((subdir) => ({ path: (0, import_node_path.join)(migrationFolderTo, subdir, "migration.sql"), name: subdir })).filter((it) => (0, import_node_fs.existsSync)(it.path));
82
- migrations.sort();
82
+ migrations.sort((a, b) => a.name.localeCompare(b.name));
83
83
  for (const migration of migrations) {
84
84
  const migrationPath = migration.path;
85
85
  const migrationDate = migration.name.slice(0, 14);
package/migrator.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/migrator.ts"],"sourcesContent":["import crypto from 'node:crypto';\nimport fs, { existsSync, readdirSync } from 'node:fs';\nimport { join } from 'node:path';\n\nexport interface KitConfig {\n\tout: string;\n\tschema: string;\n}\n\nexport interface MigrationConfig {\n\tmigrationsFolder: string;\n\tmigrationsTable?: string;\n\tmigrationsSchema?: string;\n\t/** @internal */\n\tinit?: boolean;\n}\n\nexport interface MigrationMeta {\n\tsql: string[];\n\tfolderMillis: number;\n\thash: string;\n\tbps: boolean;\n}\n\n/** Only gets returned if migrator failed with `init: true` used by `drizzle-kit pull --init`*/\nexport interface MigratorInitFailResponse {\n\texitCode: 'databaseMigrations' | 'localMigrations';\n}\n\n/** Only gets returned if migrator failed with `init: true` used by `drizzle-kit pull --init`*/\nexport interface MigratorInitFailResponse {\n\texitCode: 'databaseMigrations' | 'localMigrations';\n}\n\nexport function formatToMillis(dateStr: string): number {\n\tconst year = parseInt(dateStr.slice(0, 4), 10);\n\tconst month = parseInt(dateStr.slice(4, 6), 10) - 1;\n\tconst day = parseInt(dateStr.slice(6, 8), 10);\n\tconst hour = parseInt(dateStr.slice(8, 10), 10);\n\tconst minute = parseInt(dateStr.slice(10, 12), 10);\n\tconst second = parseInt(dateStr.slice(12, 14), 10);\n\n\treturn Date.UTC(year, month, day, hour, minute, second);\n}\n\nfunction readMigrationFilesOLD(config: MigrationConfig): MigrationMeta[] {\n\tconst migrationFolderTo = config.migrationsFolder;\n\n\tconst migrationQueries: MigrationMeta[] = [];\n\n\tconst journalPath = `${migrationFolderTo}/meta/_journal.json`;\n\n\tconst journalAsString = fs.readFileSync(journalPath).toString();\n\n\tconst journal = JSON.parse(journalAsString) as {\n\t\tentries: { idx: number; when: number; tag: string; breakpoints: boolean }[];\n\t};\n\n\tfor (const journalEntry of journal.entries) {\n\t\tconst migrationPath = `${migrationFolderTo}/${journalEntry.tag}.sql`;\n\n\t\ttry {\n\t\t\tconst query = fs.readFileSync(`${migrationFolderTo}/${journalEntry.tag}.sql`).toString();\n\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\tmigrationQueries.push({\n\t\t\t\tsql: result,\n\t\t\t\tbps: journalEntry.breakpoints,\n\t\t\t\tfolderMillis: journalEntry.when,\n\t\t\t\thash: crypto.createHash('sha256').update(query).digest('hex'),\n\t\t\t});\n\t\t} catch {\n\t\t\tthrow new Error(`No file ${migrationPath} found in ${migrationFolderTo} folder`);\n\t\t}\n\t}\n\n\treturn migrationQueries;\n}\n\nexport function readMigrationFiles(config: MigrationConfig): MigrationMeta[] {\n\tif (fs.existsSync(`${config.migrationsFolder}/meta/_journal.json`)) {\n\t\t// it means user has folders V2\n\t\t// we need to warn to up the folders version but still apply migrations\n\t\tconsole.log(\n\t\t\t'\\nWarning: We detected that you have old drizzle-kit migration folders. We suggest to upgrade drizzle-kit and run \"drizzle-kit up\"\\n',\n\t\t);\n\t\treturn readMigrationFilesOLD(config);\n\t}\n\n\tconst migrationFolderTo = config.migrationsFolder;\n\n\tconst migrationQueries: MigrationMeta[] = [];\n\n\tconst migrations = readdirSync(migrationFolderTo)\n\t\t.map((subdir) => ({ path: join(migrationFolderTo, subdir, 'migration.sql'), name: subdir }))\n\t\t.filter((it) => existsSync(it.path));\n\n\tmigrations.sort();\n\n\tfor (const migration of migrations) {\n\t\tconst migrationPath = migration.path;\n\t\tconst migrationDate = migration.name.slice(0, 14);\n\n\t\tconst query = fs.readFileSync(migrationPath).toString();\n\n\t\tconst result = query.split('--> statement-breakpoint').map((it) => {\n\t\t\treturn it;\n\t\t});\n\n\t\tconst millis = formatToMillis(migrationDate);\n\n\t\tmigrationQueries.push({\n\t\t\tsql: result,\n\t\t\tbps: true,\n\t\t\tfolderMillis: millis,\n\t\t\thash: crypto.createHash('sha256').update(query).digest('hex'),\n\t\t});\n\t}\n\n\treturn migrationQueries;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,yBAAmB;AACnB,qBAA4C;AAC5C,uBAAqB;AAgCd,SAAS,eAAe,SAAyB;AACvD,QAAM,OAAO,SAAS,QAAQ,MAAM,GAAG,CAAC,GAAG,EAAE;AAC7C,QAAM,QAAQ,SAAS,QAAQ,MAAM,GAAG,CAAC,GAAG,EAAE,IAAI;AAClD,QAAM,MAAM,SAAS,QAAQ,MAAM,GAAG,CAAC,GAAG,EAAE;AAC5C,QAAM,OAAO,SAAS,QAAQ,MAAM,GAAG,EAAE,GAAG,EAAE;AAC9C,QAAM,SAAS,SAAS,QAAQ,MAAM,IAAI,EAAE,GAAG,EAAE;AACjD,QAAM,SAAS,SAAS,QAAQ,MAAM,IAAI,EAAE,GAAG,EAAE;AAEjD,SAAO,KAAK,IAAI,MAAM,OAAO,KAAK,MAAM,QAAQ,MAAM;AACvD;AAEA,SAAS,sBAAsB,QAA0C;AACxE,QAAM,oBAAoB,OAAO;AAEjC,QAAM,mBAAoC,CAAC;AAE3C,QAAM,cAAc,GAAG,iBAAiB;AAExC,QAAM,kBAAkB,eAAAA,QAAG,aAAa,WAAW,EAAE,SAAS;AAE9D,QAAM,UAAU,KAAK,MAAM,eAAe;AAI1C,aAAW,gBAAgB,QAAQ,SAAS;AAC3C,UAAM,gBAAgB,GAAG,iBAAiB,IAAI,aAAa,GAAG;AAE9D,QAAI;AACH,YAAM,QAAQ,eAAAA,QAAG,aAAa,GAAG,iBAAiB,IAAI,aAAa,GAAG,MAAM,EAAE,SAAS;AAEvF,YAAM,SAAS,MAAM,MAAM,0BAA0B,EAAE,IAAI,CAAC,OAAO;AAClE,eAAO;AAAA,MACR,CAAC;AAED,uBAAiB,KAAK;AAAA,QACrB,KAAK;AAAA,QACL,KAAK,aAAa;AAAA,QAClB,cAAc,aAAa;AAAA,QAC3B,MAAM,mBAAAC,QAAO,WAAW,QAAQ,EAAE,OAAO,KAAK,EAAE,OAAO,KAAK;AAAA,MAC7D,CAAC;AAAA,IACF,QAAQ;AACP,YAAM,IAAI,MAAM,WAAW,aAAa,aAAa,iBAAiB,SAAS;AAAA,IAChF;AAAA,EACD;AAEA,SAAO;AACR;AAEO,SAAS,mBAAmB,QAA0C;AAC5E,MAAI,eAAAD,QAAG,WAAW,GAAG,OAAO,gBAAgB,qBAAqB,GAAG;AAGnE,YAAQ;AAAA,MACP;AAAA,IACD;AACA,WAAO,sBAAsB,MAAM;AAAA,EACpC;AAEA,QAAM,oBAAoB,OAAO;AAEjC,QAAM,mBAAoC,CAAC;AAE3C,QAAM,iBAAa,4BAAY,iBAAiB,EAC9C,IAAI,CAAC,YAAY,EAAE,UAAM,uBAAK,mBAAmB,QAAQ,eAAe,GAAG,MAAM,OAAO,EAAE,EAC1F,OAAO,CAAC,WAAO,2BAAW,GAAG,IAAI,CAAC;AAEpC,aAAW,KAAK;AAEhB,aAAW,aAAa,YAAY;AACnC,UAAM,gBAAgB,UAAU;AAChC,UAAM,gBAAgB,UAAU,KAAK,MAAM,GAAG,EAAE;AAEhD,UAAM,QAAQ,eAAAA,QAAG,aAAa,aAAa,EAAE,SAAS;AAEtD,UAAM,SAAS,MAAM,MAAM,0BAA0B,EAAE,IAAI,CAAC,OAAO;AAClE,aAAO;AAAA,IACR,CAAC;AAED,UAAM,SAAS,eAAe,aAAa;AAE3C,qBAAiB,KAAK;AAAA,MACrB,KAAK;AAAA,MACL,KAAK;AAAA,MACL,cAAc;AAAA,MACd,MAAM,mBAAAC,QAAO,WAAW,QAAQ,EAAE,OAAO,KAAK,EAAE,OAAO,KAAK;AAAA,IAC7D,CAAC;AAAA,EACF;AAEA,SAAO;AACR;","names":["fs","crypto"]}
1
+ {"version":3,"sources":["../src/migrator.ts"],"sourcesContent":["import crypto from 'node:crypto';\nimport fs, { existsSync, readdirSync } from 'node:fs';\nimport { join } from 'node:path';\n\nexport interface KitConfig {\n\tout: string;\n\tschema: string;\n}\n\nexport interface MigrationConfig {\n\tmigrationsFolder: string;\n\tmigrationsTable?: string;\n\tmigrationsSchema?: string;\n\t/** @internal */\n\tinit?: boolean;\n}\n\nexport interface MigrationMeta {\n\tsql: string[];\n\tfolderMillis: number;\n\thash: string;\n\tbps: boolean;\n}\n\n/** Only gets returned if migrator failed with `init: true` used by `drizzle-kit pull --init`*/\nexport interface MigratorInitFailResponse {\n\texitCode: 'databaseMigrations' | 'localMigrations';\n}\n\n/** Only gets returned if migrator failed with `init: true` used by `drizzle-kit pull --init`*/\nexport interface MigratorInitFailResponse {\n\texitCode: 'databaseMigrations' | 'localMigrations';\n}\n\nexport function formatToMillis(dateStr: string): number {\n\tconst year = parseInt(dateStr.slice(0, 4), 10);\n\tconst month = parseInt(dateStr.slice(4, 6), 10) - 1;\n\tconst day = parseInt(dateStr.slice(6, 8), 10);\n\tconst hour = parseInt(dateStr.slice(8, 10), 10);\n\tconst minute = parseInt(dateStr.slice(10, 12), 10);\n\tconst second = parseInt(dateStr.slice(12, 14), 10);\n\n\treturn Date.UTC(year, month, day, hour, minute, second);\n}\n\nfunction readMigrationFilesOLD(config: MigrationConfig): MigrationMeta[] {\n\tconst migrationFolderTo = config.migrationsFolder;\n\n\tconst migrationQueries: MigrationMeta[] = [];\n\n\tconst journalPath = `${migrationFolderTo}/meta/_journal.json`;\n\n\tconst journalAsString = fs.readFileSync(journalPath).toString();\n\n\tconst journal = JSON.parse(journalAsString) as {\n\t\tentries: { idx: number; when: number; tag: string; breakpoints: boolean }[];\n\t};\n\n\tfor (const journalEntry of journal.entries) {\n\t\tconst migrationPath = `${migrationFolderTo}/${journalEntry.tag}.sql`;\n\n\t\ttry {\n\t\t\tconst query = fs.readFileSync(`${migrationFolderTo}/${journalEntry.tag}.sql`).toString();\n\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\tmigrationQueries.push({\n\t\t\t\tsql: result,\n\t\t\t\tbps: journalEntry.breakpoints,\n\t\t\t\tfolderMillis: journalEntry.when,\n\t\t\t\thash: crypto.createHash('sha256').update(query).digest('hex'),\n\t\t\t});\n\t\t} catch {\n\t\t\tthrow new Error(`No file ${migrationPath} found in ${migrationFolderTo} folder`);\n\t\t}\n\t}\n\n\treturn migrationQueries;\n}\n\nexport function readMigrationFiles(config: MigrationConfig): MigrationMeta[] {\n\tif (fs.existsSync(`${config.migrationsFolder}/meta/_journal.json`)) {\n\t\t// it means user has folders V2\n\t\t// we need to warn to up the folders version but still apply migrations\n\t\tconsole.log(\n\t\t\t'\\nWarning: We detected that you have old drizzle-kit migration folders. We suggest to upgrade drizzle-kit and run \"drizzle-kit up\"\\n',\n\t\t);\n\t\treturn readMigrationFilesOLD(config);\n\t}\n\n\tconst migrationFolderTo = config.migrationsFolder;\n\n\tconst migrationQueries: MigrationMeta[] = [];\n\n\tconst migrations = readdirSync(migrationFolderTo)\n\t\t.map((subdir) => ({ path: join(migrationFolderTo, subdir, 'migration.sql'), name: subdir }))\n\t\t.filter((it) => existsSync(it.path));\n\n\tmigrations.sort((a, b) => a.name.localeCompare(b.name));\n\n\tfor (const migration of migrations) {\n\t\tconst migrationPath = migration.path;\n\t\tconst migrationDate = migration.name.slice(0, 14);\n\n\t\tconst query = fs.readFileSync(migrationPath).toString();\n\n\t\tconst result = query.split('--> statement-breakpoint').map((it) => {\n\t\t\treturn it;\n\t\t});\n\n\t\tconst millis = formatToMillis(migrationDate);\n\n\t\tmigrationQueries.push({\n\t\t\tsql: result,\n\t\t\tbps: true,\n\t\t\tfolderMillis: millis,\n\t\t\thash: crypto.createHash('sha256').update(query).digest('hex'),\n\t\t});\n\t}\n\n\treturn migrationQueries;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,yBAAmB;AACnB,qBAA4C;AAC5C,uBAAqB;AAgCd,SAAS,eAAe,SAAyB;AACvD,QAAM,OAAO,SAAS,QAAQ,MAAM,GAAG,CAAC,GAAG,EAAE;AAC7C,QAAM,QAAQ,SAAS,QAAQ,MAAM,GAAG,CAAC,GAAG,EAAE,IAAI;AAClD,QAAM,MAAM,SAAS,QAAQ,MAAM,GAAG,CAAC,GAAG,EAAE;AAC5C,QAAM,OAAO,SAAS,QAAQ,MAAM,GAAG,EAAE,GAAG,EAAE;AAC9C,QAAM,SAAS,SAAS,QAAQ,MAAM,IAAI,EAAE,GAAG,EAAE;AACjD,QAAM,SAAS,SAAS,QAAQ,MAAM,IAAI,EAAE,GAAG,EAAE;AAEjD,SAAO,KAAK,IAAI,MAAM,OAAO,KAAK,MAAM,QAAQ,MAAM;AACvD;AAEA,SAAS,sBAAsB,QAA0C;AACxE,QAAM,oBAAoB,OAAO;AAEjC,QAAM,mBAAoC,CAAC;AAE3C,QAAM,cAAc,GAAG,iBAAiB;AAExC,QAAM,kBAAkB,eAAAA,QAAG,aAAa,WAAW,EAAE,SAAS;AAE9D,QAAM,UAAU,KAAK,MAAM,eAAe;AAI1C,aAAW,gBAAgB,QAAQ,SAAS;AAC3C,UAAM,gBAAgB,GAAG,iBAAiB,IAAI,aAAa,GAAG;AAE9D,QAAI;AACH,YAAM,QAAQ,eAAAA,QAAG,aAAa,GAAG,iBAAiB,IAAI,aAAa,GAAG,MAAM,EAAE,SAAS;AAEvF,YAAM,SAAS,MAAM,MAAM,0BAA0B,EAAE,IAAI,CAAC,OAAO;AAClE,eAAO;AAAA,MACR,CAAC;AAED,uBAAiB,KAAK;AAAA,QACrB,KAAK;AAAA,QACL,KAAK,aAAa;AAAA,QAClB,cAAc,aAAa;AAAA,QAC3B,MAAM,mBAAAC,QAAO,WAAW,QAAQ,EAAE,OAAO,KAAK,EAAE,OAAO,KAAK;AAAA,MAC7D,CAAC;AAAA,IACF,QAAQ;AACP,YAAM,IAAI,MAAM,WAAW,aAAa,aAAa,iBAAiB,SAAS;AAAA,IAChF;AAAA,EACD;AAEA,SAAO;AACR;AAEO,SAAS,mBAAmB,QAA0C;AAC5E,MAAI,eAAAD,QAAG,WAAW,GAAG,OAAO,gBAAgB,qBAAqB,GAAG;AAGnE,YAAQ;AAAA,MACP;AAAA,IACD;AACA,WAAO,sBAAsB,MAAM;AAAA,EACpC;AAEA,QAAM,oBAAoB,OAAO;AAEjC,QAAM,mBAAoC,CAAC;AAE3C,QAAM,iBAAa,4BAAY,iBAAiB,EAC9C,IAAI,CAAC,YAAY,EAAE,UAAM,uBAAK,mBAAmB,QAAQ,eAAe,GAAG,MAAM,OAAO,EAAE,EAC1F,OAAO,CAAC,WAAO,2BAAW,GAAG,IAAI,CAAC;AAEpC,aAAW,KAAK,CAAC,GAAG,MAAM,EAAE,KAAK,cAAc,EAAE,IAAI,CAAC;AAEtD,aAAW,aAAa,YAAY;AACnC,UAAM,gBAAgB,UAAU;AAChC,UAAM,gBAAgB,UAAU,KAAK,MAAM,GAAG,EAAE;AAEhD,UAAM,QAAQ,eAAAA,QAAG,aAAa,aAAa,EAAE,SAAS;AAEtD,UAAM,SAAS,MAAM,MAAM,0BAA0B,EAAE,IAAI,CAAC,OAAO;AAClE,aAAO;AAAA,IACR,CAAC;AAED,UAAM,SAAS,eAAe,aAAa;AAE3C,qBAAiB,KAAK;AAAA,MACrB,KAAK;AAAA,MACL,KAAK;AAAA,MACL,cAAc;AAAA,MACd,MAAM,mBAAAC,QAAO,WAAW,QAAQ,EAAE,OAAO,KAAK,EAAE,OAAO,KAAK;AAAA,IAC7D,CAAC;AAAA,EACF;AAEA,SAAO;AACR;","names":["fs","crypto"]}
package/migrator.js CHANGED
@@ -45,7 +45,7 @@ function readMigrationFiles(config) {
45
45
  const migrationFolderTo = config.migrationsFolder;
46
46
  const migrationQueries = [];
47
47
  const migrations = readdirSync(migrationFolderTo).map((subdir) => ({ path: join(migrationFolderTo, subdir, "migration.sql"), name: subdir })).filter((it) => existsSync(it.path));
48
- migrations.sort();
48
+ migrations.sort((a, b) => a.name.localeCompare(b.name));
49
49
  for (const migration of migrations) {
50
50
  const migrationPath = migration.path;
51
51
  const migrationDate = migration.name.slice(0, 14);
package/migrator.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/migrator.ts"],"sourcesContent":["import crypto from 'node:crypto';\nimport fs, { existsSync, readdirSync } from 'node:fs';\nimport { join } from 'node:path';\n\nexport interface KitConfig {\n\tout: string;\n\tschema: string;\n}\n\nexport interface MigrationConfig {\n\tmigrationsFolder: string;\n\tmigrationsTable?: string;\n\tmigrationsSchema?: string;\n\t/** @internal */\n\tinit?: boolean;\n}\n\nexport interface MigrationMeta {\n\tsql: string[];\n\tfolderMillis: number;\n\thash: string;\n\tbps: boolean;\n}\n\n/** Only gets returned if migrator failed with `init: true` used by `drizzle-kit pull --init`*/\nexport interface MigratorInitFailResponse {\n\texitCode: 'databaseMigrations' | 'localMigrations';\n}\n\n/** Only gets returned if migrator failed with `init: true` used by `drizzle-kit pull --init`*/\nexport interface MigratorInitFailResponse {\n\texitCode: 'databaseMigrations' | 'localMigrations';\n}\n\nexport function formatToMillis(dateStr: string): number {\n\tconst year = parseInt(dateStr.slice(0, 4), 10);\n\tconst month = parseInt(dateStr.slice(4, 6), 10) - 1;\n\tconst day = parseInt(dateStr.slice(6, 8), 10);\n\tconst hour = parseInt(dateStr.slice(8, 10), 10);\n\tconst minute = parseInt(dateStr.slice(10, 12), 10);\n\tconst second = parseInt(dateStr.slice(12, 14), 10);\n\n\treturn Date.UTC(year, month, day, hour, minute, second);\n}\n\nfunction readMigrationFilesOLD(config: MigrationConfig): MigrationMeta[] {\n\tconst migrationFolderTo = config.migrationsFolder;\n\n\tconst migrationQueries: MigrationMeta[] = [];\n\n\tconst journalPath = `${migrationFolderTo}/meta/_journal.json`;\n\n\tconst journalAsString = fs.readFileSync(journalPath).toString();\n\n\tconst journal = JSON.parse(journalAsString) as {\n\t\tentries: { idx: number; when: number; tag: string; breakpoints: boolean }[];\n\t};\n\n\tfor (const journalEntry of journal.entries) {\n\t\tconst migrationPath = `${migrationFolderTo}/${journalEntry.tag}.sql`;\n\n\t\ttry {\n\t\t\tconst query = fs.readFileSync(`${migrationFolderTo}/${journalEntry.tag}.sql`).toString();\n\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\tmigrationQueries.push({\n\t\t\t\tsql: result,\n\t\t\t\tbps: journalEntry.breakpoints,\n\t\t\t\tfolderMillis: journalEntry.when,\n\t\t\t\thash: crypto.createHash('sha256').update(query).digest('hex'),\n\t\t\t});\n\t\t} catch {\n\t\t\tthrow new Error(`No file ${migrationPath} found in ${migrationFolderTo} folder`);\n\t\t}\n\t}\n\n\treturn migrationQueries;\n}\n\nexport function readMigrationFiles(config: MigrationConfig): MigrationMeta[] {\n\tif (fs.existsSync(`${config.migrationsFolder}/meta/_journal.json`)) {\n\t\t// it means user has folders V2\n\t\t// we need to warn to up the folders version but still apply migrations\n\t\tconsole.log(\n\t\t\t'\\nWarning: We detected that you have old drizzle-kit migration folders. We suggest to upgrade drizzle-kit and run \"drizzle-kit up\"\\n',\n\t\t);\n\t\treturn readMigrationFilesOLD(config);\n\t}\n\n\tconst migrationFolderTo = config.migrationsFolder;\n\n\tconst migrationQueries: MigrationMeta[] = [];\n\n\tconst migrations = readdirSync(migrationFolderTo)\n\t\t.map((subdir) => ({ path: join(migrationFolderTo, subdir, 'migration.sql'), name: subdir }))\n\t\t.filter((it) => existsSync(it.path));\n\n\tmigrations.sort();\n\n\tfor (const migration of migrations) {\n\t\tconst migrationPath = migration.path;\n\t\tconst migrationDate = migration.name.slice(0, 14);\n\n\t\tconst query = fs.readFileSync(migrationPath).toString();\n\n\t\tconst result = query.split('--> statement-breakpoint').map((it) => {\n\t\t\treturn it;\n\t\t});\n\n\t\tconst millis = formatToMillis(migrationDate);\n\n\t\tmigrationQueries.push({\n\t\t\tsql: result,\n\t\t\tbps: true,\n\t\t\tfolderMillis: millis,\n\t\t\thash: crypto.createHash('sha256').update(query).digest('hex'),\n\t\t});\n\t}\n\n\treturn migrationQueries;\n}\n"],"mappings":"AAAA,OAAO,YAAY;AACnB,OAAO,MAAM,YAAY,mBAAmB;AAC5C,SAAS,YAAY;AAgCd,SAAS,eAAe,SAAyB;AACvD,QAAM,OAAO,SAAS,QAAQ,MAAM,GAAG,CAAC,GAAG,EAAE;AAC7C,QAAM,QAAQ,SAAS,QAAQ,MAAM,GAAG,CAAC,GAAG,EAAE,IAAI;AAClD,QAAM,MAAM,SAAS,QAAQ,MAAM,GAAG,CAAC,GAAG,EAAE;AAC5C,QAAM,OAAO,SAAS,QAAQ,MAAM,GAAG,EAAE,GAAG,EAAE;AAC9C,QAAM,SAAS,SAAS,QAAQ,MAAM,IAAI,EAAE,GAAG,EAAE;AACjD,QAAM,SAAS,SAAS,QAAQ,MAAM,IAAI,EAAE,GAAG,EAAE;AAEjD,SAAO,KAAK,IAAI,MAAM,OAAO,KAAK,MAAM,QAAQ,MAAM;AACvD;AAEA,SAAS,sBAAsB,QAA0C;AACxE,QAAM,oBAAoB,OAAO;AAEjC,QAAM,mBAAoC,CAAC;AAE3C,QAAM,cAAc,GAAG,iBAAiB;AAExC,QAAM,kBAAkB,GAAG,aAAa,WAAW,EAAE,SAAS;AAE9D,QAAM,UAAU,KAAK,MAAM,eAAe;AAI1C,aAAW,gBAAgB,QAAQ,SAAS;AAC3C,UAAM,gBAAgB,GAAG,iBAAiB,IAAI,aAAa,GAAG;AAE9D,QAAI;AACH,YAAM,QAAQ,GAAG,aAAa,GAAG,iBAAiB,IAAI,aAAa,GAAG,MAAM,EAAE,SAAS;AAEvF,YAAM,SAAS,MAAM,MAAM,0BAA0B,EAAE,IAAI,CAAC,OAAO;AAClE,eAAO;AAAA,MACR,CAAC;AAED,uBAAiB,KAAK;AAAA,QACrB,KAAK;AAAA,QACL,KAAK,aAAa;AAAA,QAClB,cAAc,aAAa;AAAA,QAC3B,MAAM,OAAO,WAAW,QAAQ,EAAE,OAAO,KAAK,EAAE,OAAO,KAAK;AAAA,MAC7D,CAAC;AAAA,IACF,QAAQ;AACP,YAAM,IAAI,MAAM,WAAW,aAAa,aAAa,iBAAiB,SAAS;AAAA,IAChF;AAAA,EACD;AAEA,SAAO;AACR;AAEO,SAAS,mBAAmB,QAA0C;AAC5E,MAAI,GAAG,WAAW,GAAG,OAAO,gBAAgB,qBAAqB,GAAG;AAGnE,YAAQ;AAAA,MACP;AAAA,IACD;AACA,WAAO,sBAAsB,MAAM;AAAA,EACpC;AAEA,QAAM,oBAAoB,OAAO;AAEjC,QAAM,mBAAoC,CAAC;AAE3C,QAAM,aAAa,YAAY,iBAAiB,EAC9C,IAAI,CAAC,YAAY,EAAE,MAAM,KAAK,mBAAmB,QAAQ,eAAe,GAAG,MAAM,OAAO,EAAE,EAC1F,OAAO,CAAC,OAAO,WAAW,GAAG,IAAI,CAAC;AAEpC,aAAW,KAAK;AAEhB,aAAW,aAAa,YAAY;AACnC,UAAM,gBAAgB,UAAU;AAChC,UAAM,gBAAgB,UAAU,KAAK,MAAM,GAAG,EAAE;AAEhD,UAAM,QAAQ,GAAG,aAAa,aAAa,EAAE,SAAS;AAEtD,UAAM,SAAS,MAAM,MAAM,0BAA0B,EAAE,IAAI,CAAC,OAAO;AAClE,aAAO;AAAA,IACR,CAAC;AAED,UAAM,SAAS,eAAe,aAAa;AAE3C,qBAAiB,KAAK;AAAA,MACrB,KAAK;AAAA,MACL,KAAK;AAAA,MACL,cAAc;AAAA,MACd,MAAM,OAAO,WAAW,QAAQ,EAAE,OAAO,KAAK,EAAE,OAAO,KAAK;AAAA,IAC7D,CAAC;AAAA,EACF;AAEA,SAAO;AACR;","names":[]}
1
+ {"version":3,"sources":["../src/migrator.ts"],"sourcesContent":["import crypto from 'node:crypto';\nimport fs, { existsSync, readdirSync } from 'node:fs';\nimport { join } from 'node:path';\n\nexport interface KitConfig {\n\tout: string;\n\tschema: string;\n}\n\nexport interface MigrationConfig {\n\tmigrationsFolder: string;\n\tmigrationsTable?: string;\n\tmigrationsSchema?: string;\n\t/** @internal */\n\tinit?: boolean;\n}\n\nexport interface MigrationMeta {\n\tsql: string[];\n\tfolderMillis: number;\n\thash: string;\n\tbps: boolean;\n}\n\n/** Only gets returned if migrator failed with `init: true` used by `drizzle-kit pull --init`*/\nexport interface MigratorInitFailResponse {\n\texitCode: 'databaseMigrations' | 'localMigrations';\n}\n\n/** Only gets returned if migrator failed with `init: true` used by `drizzle-kit pull --init`*/\nexport interface MigratorInitFailResponse {\n\texitCode: 'databaseMigrations' | 'localMigrations';\n}\n\nexport function formatToMillis(dateStr: string): number {\n\tconst year = parseInt(dateStr.slice(0, 4), 10);\n\tconst month = parseInt(dateStr.slice(4, 6), 10) - 1;\n\tconst day = parseInt(dateStr.slice(6, 8), 10);\n\tconst hour = parseInt(dateStr.slice(8, 10), 10);\n\tconst minute = parseInt(dateStr.slice(10, 12), 10);\n\tconst second = parseInt(dateStr.slice(12, 14), 10);\n\n\treturn Date.UTC(year, month, day, hour, minute, second);\n}\n\nfunction readMigrationFilesOLD(config: MigrationConfig): MigrationMeta[] {\n\tconst migrationFolderTo = config.migrationsFolder;\n\n\tconst migrationQueries: MigrationMeta[] = [];\n\n\tconst journalPath = `${migrationFolderTo}/meta/_journal.json`;\n\n\tconst journalAsString = fs.readFileSync(journalPath).toString();\n\n\tconst journal = JSON.parse(journalAsString) as {\n\t\tentries: { idx: number; when: number; tag: string; breakpoints: boolean }[];\n\t};\n\n\tfor (const journalEntry of journal.entries) {\n\t\tconst migrationPath = `${migrationFolderTo}/${journalEntry.tag}.sql`;\n\n\t\ttry {\n\t\t\tconst query = fs.readFileSync(`${migrationFolderTo}/${journalEntry.tag}.sql`).toString();\n\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\tmigrationQueries.push({\n\t\t\t\tsql: result,\n\t\t\t\tbps: journalEntry.breakpoints,\n\t\t\t\tfolderMillis: journalEntry.when,\n\t\t\t\thash: crypto.createHash('sha256').update(query).digest('hex'),\n\t\t\t});\n\t\t} catch {\n\t\t\tthrow new Error(`No file ${migrationPath} found in ${migrationFolderTo} folder`);\n\t\t}\n\t}\n\n\treturn migrationQueries;\n}\n\nexport function readMigrationFiles(config: MigrationConfig): MigrationMeta[] {\n\tif (fs.existsSync(`${config.migrationsFolder}/meta/_journal.json`)) {\n\t\t// it means user has folders V2\n\t\t// we need to warn to up the folders version but still apply migrations\n\t\tconsole.log(\n\t\t\t'\\nWarning: We detected that you have old drizzle-kit migration folders. We suggest to upgrade drizzle-kit and run \"drizzle-kit up\"\\n',\n\t\t);\n\t\treturn readMigrationFilesOLD(config);\n\t}\n\n\tconst migrationFolderTo = config.migrationsFolder;\n\n\tconst migrationQueries: MigrationMeta[] = [];\n\n\tconst migrations = readdirSync(migrationFolderTo)\n\t\t.map((subdir) => ({ path: join(migrationFolderTo, subdir, 'migration.sql'), name: subdir }))\n\t\t.filter((it) => existsSync(it.path));\n\n\tmigrations.sort((a, b) => a.name.localeCompare(b.name));\n\n\tfor (const migration of migrations) {\n\t\tconst migrationPath = migration.path;\n\t\tconst migrationDate = migration.name.slice(0, 14);\n\n\t\tconst query = fs.readFileSync(migrationPath).toString();\n\n\t\tconst result = query.split('--> statement-breakpoint').map((it) => {\n\t\t\treturn it;\n\t\t});\n\n\t\tconst millis = formatToMillis(migrationDate);\n\n\t\tmigrationQueries.push({\n\t\t\tsql: result,\n\t\t\tbps: true,\n\t\t\tfolderMillis: millis,\n\t\t\thash: crypto.createHash('sha256').update(query).digest('hex'),\n\t\t});\n\t}\n\n\treturn migrationQueries;\n}\n"],"mappings":"AAAA,OAAO,YAAY;AACnB,OAAO,MAAM,YAAY,mBAAmB;AAC5C,SAAS,YAAY;AAgCd,SAAS,eAAe,SAAyB;AACvD,QAAM,OAAO,SAAS,QAAQ,MAAM,GAAG,CAAC,GAAG,EAAE;AAC7C,QAAM,QAAQ,SAAS,QAAQ,MAAM,GAAG,CAAC,GAAG,EAAE,IAAI;AAClD,QAAM,MAAM,SAAS,QAAQ,MAAM,GAAG,CAAC,GAAG,EAAE;AAC5C,QAAM,OAAO,SAAS,QAAQ,MAAM,GAAG,EAAE,GAAG,EAAE;AAC9C,QAAM,SAAS,SAAS,QAAQ,MAAM,IAAI,EAAE,GAAG,EAAE;AACjD,QAAM,SAAS,SAAS,QAAQ,MAAM,IAAI,EAAE,GAAG,EAAE;AAEjD,SAAO,KAAK,IAAI,MAAM,OAAO,KAAK,MAAM,QAAQ,MAAM;AACvD;AAEA,SAAS,sBAAsB,QAA0C;AACxE,QAAM,oBAAoB,OAAO;AAEjC,QAAM,mBAAoC,CAAC;AAE3C,QAAM,cAAc,GAAG,iBAAiB;AAExC,QAAM,kBAAkB,GAAG,aAAa,WAAW,EAAE,SAAS;AAE9D,QAAM,UAAU,KAAK,MAAM,eAAe;AAI1C,aAAW,gBAAgB,QAAQ,SAAS;AAC3C,UAAM,gBAAgB,GAAG,iBAAiB,IAAI,aAAa,GAAG;AAE9D,QAAI;AACH,YAAM,QAAQ,GAAG,aAAa,GAAG,iBAAiB,IAAI,aAAa,GAAG,MAAM,EAAE,SAAS;AAEvF,YAAM,SAAS,MAAM,MAAM,0BAA0B,EAAE,IAAI,CAAC,OAAO;AAClE,eAAO;AAAA,MACR,CAAC;AAED,uBAAiB,KAAK;AAAA,QACrB,KAAK;AAAA,QACL,KAAK,aAAa;AAAA,QAClB,cAAc,aAAa;AAAA,QAC3B,MAAM,OAAO,WAAW,QAAQ,EAAE,OAAO,KAAK,EAAE,OAAO,KAAK;AAAA,MAC7D,CAAC;AAAA,IACF,QAAQ;AACP,YAAM,IAAI,MAAM,WAAW,aAAa,aAAa,iBAAiB,SAAS;AAAA,IAChF;AAAA,EACD;AAEA,SAAO;AACR;AAEO,SAAS,mBAAmB,QAA0C;AAC5E,MAAI,GAAG,WAAW,GAAG,OAAO,gBAAgB,qBAAqB,GAAG;AAGnE,YAAQ;AAAA,MACP;AAAA,IACD;AACA,WAAO,sBAAsB,MAAM;AAAA,EACpC;AAEA,QAAM,oBAAoB,OAAO;AAEjC,QAAM,mBAAoC,CAAC;AAE3C,QAAM,aAAa,YAAY,iBAAiB,EAC9C,IAAI,CAAC,YAAY,EAAE,MAAM,KAAK,mBAAmB,QAAQ,eAAe,GAAG,MAAM,OAAO,EAAE,EAC1F,OAAO,CAAC,OAAO,WAAW,GAAG,IAAI,CAAC;AAEpC,aAAW,KAAK,CAAC,GAAG,MAAM,EAAE,KAAK,cAAc,EAAE,IAAI,CAAC;AAEtD,aAAW,aAAa,YAAY;AACnC,UAAM,gBAAgB,UAAU;AAChC,UAAM,gBAAgB,UAAU,KAAK,MAAM,GAAG,EAAE;AAEhD,UAAM,QAAQ,GAAG,aAAa,aAAa,EAAE,SAAS;AAEtD,UAAM,SAAS,MAAM,MAAM,0BAA0B,EAAE,IAAI,CAAC,OAAO;AAClE,aAAO;AAAA,IACR,CAAC;AAED,UAAM,SAAS,eAAe,aAAa;AAE3C,qBAAiB,KAAK;AAAA,MACrB,KAAK;AAAA,MACL,KAAK;AAAA,MACL,cAAc;AAAA,MACd,MAAM,OAAO,WAAW,QAAQ,EAAE,OAAO,KAAK,EAAE,OAAO,KAAK;AAAA,IAC7D,CAAC;AAAA,EACF;AAEA,SAAO;AACR;","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "drizzle-orm",
3
- "version": "1.0.0-beta.3-702eadc",
3
+ "version": "1.0.0-beta.4-4605abe",
4
4
  "description": "Drizzle ORM package for SQL databases",
5
5
  "type": "module",
6
6
  "scripts": {
package/version.cjs CHANGED
@@ -26,7 +26,7 @@ __export(version_exports, {
26
26
  module.exports = __toCommonJS(version_exports);
27
27
 
28
28
  // package.json
29
- var version = "1.0.0-beta.3";
29
+ var version = "1.0.0-beta.4";
30
30
 
31
31
  // src/version.ts
32
32
  var compatibilityVersion = 12;
package/version.d.cts CHANGED
@@ -1,4 +1,4 @@
1
- var version = "1.0.0-beta.3";
1
+ var version = "1.0.0-beta.4";
2
2
 
3
3
  declare const compatibilityVersion = 12;
4
4
 
package/version.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- var version = "1.0.0-beta.3";
1
+ var version = "1.0.0-beta.4";
2
2
 
3
3
  declare const compatibilityVersion = 12;
4
4
 
package/version.js CHANGED
@@ -1,5 +1,5 @@
1
1
  // package.json
2
- var version = "1.0.0-beta.3";
2
+ var version = "1.0.0-beta.4";
3
3
 
4
4
  // src/version.ts
5
5
  var compatibilityVersion = 12;