drizzle-kit 0.22.0-12a1bf8 → 0.22.0-25da1e6

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/payload.mjs CHANGED
@@ -8005,7 +8005,16 @@ var init_mysqlSchema = __esm({
8005
8005
  object({ isDefaultAnExpression: boolean().optional() }).optional()
8006
8006
  )
8007
8007
  }).optional()
8008
- )
8008
+ ).optional(),
8009
+ indexes: record(
8010
+ string(),
8011
+ object({
8012
+ columns: record(
8013
+ string(),
8014
+ object({ isExpression: boolean().optional() }).optional()
8015
+ )
8016
+ }).optional()
8017
+ ).optional()
8009
8018
  }).optional();
8010
8019
  dialect = literal("mysql");
8011
8020
  schemaHash = object({
@@ -8690,7 +8699,7 @@ import {
8690
8699
  literal as literal3,
8691
8700
  union as union4
8692
8701
  } from "zod";
8693
- var index3, fk3, compositePK3, column3, tableV33, uniqueConstraint3, table3, dialect2, schemaHash3, schemaInternalV32, schemaInternalV42, schemaInternalV52, latestVersion, schemaInternal2, schemaV32, schemaV42, schemaV52, schema2, tableSquashed3, schemaSquashed2, SQLiteSquasher, squashSqliteScheme, drySQLite, sqliteSchemaV5, sqliteSchema, SQLiteSchemaSquashed, backwardCompatibleSqliteSchema;
8702
+ var index3, fk3, compositePK3, column3, tableV33, uniqueConstraint3, table3, dialect2, schemaHash3, schemaInternalV32, schemaInternalV42, schemaInternalV52, kitInternals3, latestVersion, schemaInternal2, schemaV32, schemaV42, schemaV52, schema2, tableSquashed3, schemaSquashed2, SQLiteSquasher, squashSqliteScheme, drySQLite, sqliteSchemaV5, sqliteSchema, SQLiteSchemaSquashed, backwardCompatibleSqliteSchema;
8694
8703
  var init_sqliteSchema = __esm({
8695
8704
  "src/serializer/sqliteSchema.ts"() {
8696
8705
  "use strict";
@@ -8767,6 +8776,17 @@ var init_sqliteSchema = __esm({
8767
8776
  columns: record3(string3(), string3())
8768
8777
  })
8769
8778
  }).strict();
8779
+ kitInternals3 = object3({
8780
+ indexes: record3(
8781
+ string3(),
8782
+ object3({
8783
+ columns: record3(
8784
+ string3(),
8785
+ object3({ isExpression: boolean3().optional() }).optional()
8786
+ )
8787
+ }).optional()
8788
+ ).optional()
8789
+ }).optional();
8770
8790
  latestVersion = literal3("6");
8771
8791
  schemaInternal2 = object3({
8772
8792
  version: latestVersion,
@@ -8776,7 +8796,8 @@ var init_sqliteSchema = __esm({
8776
8796
  _meta: object3({
8777
8797
  tables: record3(string3(), string3()),
8778
8798
  columns: record3(string3(), string3())
8779
- })
8799
+ }),
8800
+ internal: kitInternals3
8780
8801
  }).strict();
8781
8802
  schemaV32 = schemaInternalV32.merge(schemaHash3).strict();
8782
8803
  schemaV42 = schemaInternalV42.merge(schemaHash3).strict();
@@ -8965,7 +8986,7 @@ var init_views = __esm({
8965
8986
  init_source();
8966
8987
  init_utils5();
8967
8988
  error = (error2, greyMsg = "") => {
8968
- return `${source_default.red.bold("Err:")} ${error2} ${greyMsg ? source_default.grey(greyMsg) : ""}`.trim();
8989
+ return `${source_default.bgRed.bold(" Error ")} ${error2} ${greyMsg ? source_default.grey(greyMsg) : ""}`.trim();
8969
8990
  };
8970
8991
  isRenamePromptItem = (item) => {
8971
8992
  return "from" in item && "to" in item;
@@ -9172,12 +9193,102 @@ var init_serializer = __esm({
9172
9193
  }
9173
9194
  });
9174
9195
 
9196
+ // src/schemaValidator.ts
9197
+ import { enum as enumType4, union as union5 } from "zod";
9198
+ var dialect3, commonSquashedSchema, commonSchema;
9199
+ var init_schemaValidator = __esm({
9200
+ "src/schemaValidator.ts"() {
9201
+ "use strict";
9202
+ init_mysqlSchema();
9203
+ init_pgSchema();
9204
+ init_sqliteSchema();
9205
+ dialect3 = enumType4(["postgresql", "mysql", "sqlite"]);
9206
+ commonSquashedSchema = union5([
9207
+ pgSchemaSquashed,
9208
+ mysqlSchemaSquashed,
9209
+ SQLiteSchemaSquashed
9210
+ ]);
9211
+ commonSchema = union5([
9212
+ pgSchema,
9213
+ mysqlSchema,
9214
+ sqliteSchema
9215
+ ]);
9216
+ }
9217
+ });
9218
+
9219
+ // src/cli/validations/common.ts
9220
+ import { object as object4, string as string4, union as union6, boolean as boolean4, literal as literal4 } from "zod";
9221
+ var sqliteDriversLiterals, sqliteDriver, postgresDriver, mysqlDriver, driver, configCommonSchema, casing, introspectParams, configIntrospectCliSchema, configGenerateSchema, configPushSchema;
9222
+ var init_common2 = __esm({
9223
+ "src/cli/validations/common.ts"() {
9224
+ "use strict";
9225
+ init_outputs();
9226
+ init_schemaValidator();
9227
+ sqliteDriversLiterals = [
9228
+ literal4("turso"),
9229
+ literal4("d1-http"),
9230
+ literal4("expo")
9231
+ ];
9232
+ sqliteDriver = union6(sqliteDriversLiterals);
9233
+ postgresDriver = literal4("aws-data-api");
9234
+ mysqlDriver = literal4("mysql2");
9235
+ driver = union6([sqliteDriver, postgresDriver, mysqlDriver]);
9236
+ configCommonSchema = object4({
9237
+ dialect: dialect3,
9238
+ schema: union6([string4(), string4().array()]).optional(),
9239
+ out: string4().optional(),
9240
+ breakpoints: boolean4().optional().default(true),
9241
+ driver: driver.optional(),
9242
+ tablesFilter: union6([string4(), string4().array()]).optional(),
9243
+ schemaFilter: union6([string4(), string4().array()]).default(["public"])
9244
+ });
9245
+ casing = union6([literal4("camel"), literal4("preserve")]).default(
9246
+ "preserve"
9247
+ );
9248
+ introspectParams = object4({
9249
+ schema: union6([string4(), string4().array()]).optional(),
9250
+ out: string4().optional().default("./drizzle"),
9251
+ breakpoints: boolean4().default(true),
9252
+ tablesFilter: union6([string4(), string4().array()]).optional(),
9253
+ schemaFilter: union6([string4(), string4().array()]).default(["public"]),
9254
+ introspect: object4({
9255
+ casing
9256
+ }).default({ casing: "camel" })
9257
+ });
9258
+ configIntrospectCliSchema = object4({
9259
+ schema: union6([string4(), string4().array()]).optional(),
9260
+ out: string4().optional().default("./drizzle"),
9261
+ breakpoints: boolean4().default(true),
9262
+ tablesFilter: union6([string4(), string4().array()]).optional(),
9263
+ schemaFilter: union6([string4(), string4().array()]).default(["public"]),
9264
+ introspectCasing: union6([literal4("camel"), literal4("preserve")]).default(
9265
+ "camel"
9266
+ )
9267
+ });
9268
+ configGenerateSchema = object4({
9269
+ schema: union6([string4(), string4().array()]),
9270
+ out: string4().optional().default("./drizzle"),
9271
+ breakpoints: boolean4().default(true)
9272
+ });
9273
+ configPushSchema = object4({
9274
+ dialect: dialect3,
9275
+ schema: union6([string4(), string4().array()]),
9276
+ tablesFilter: union6([string4(), string4().array()]).optional(),
9277
+ schemaFilter: union6([string4(), string4().array()]).default(["public"]),
9278
+ verbose: boolean4().default(false),
9279
+ strict: boolean4().default(false),
9280
+ out: string4().optional()
9281
+ });
9282
+ }
9283
+ });
9284
+
9175
9285
  // src/cli/validations/outputs.ts
9176
9286
  var withStyle;
9177
9287
  var init_outputs = __esm({
9178
9288
  "src/cli/validations/outputs.ts"() {
9179
9289
  "use strict";
9180
9290
  init_source();
9291
+ init_common2();
9181
9292
  withStyle = {
9182
9293
  error: (str) => `${source_default.red(`${source_default.white.bgRed(" Invalid input ")} ${str}`)}`,
9183
9294
  warning: (str) => `${source_default.white.bgGray(" Warning ")} ${str}`,
@@ -9190,203 +9301,131 @@ var init_outputs = __esm({
9190
9301
  });
9191
9302
 
9192
9303
  // src/cli/validations/mysql.ts
9193
- import { boolean as boolean4, coerce, object as object4, string as string4, union as union5 } from "zod";
9304
+ import { boolean as boolean5, coerce, object as object5, string as string5, union as union7 } from "zod";
9194
9305
  var mysqlCredentials;
9195
9306
  var init_mysql = __esm({
9196
9307
  "src/cli/validations/mysql.ts"() {
9197
9308
  "use strict";
9198
9309
  init_outputs();
9199
- mysqlCredentials = union5([
9200
- object4({
9201
- host: string4(),
9202
- port: coerce.number().optional(),
9203
- user: string4().default("mysql"),
9204
- password: string4().optional(),
9205
- database: string4(),
9206
- ssl: union5([
9207
- string4(),
9208
- object4({
9209
- pfx: string4().optional(),
9210
- key: string4().optional(),
9211
- passphrase: string4().optional(),
9212
- cert: string4().optional(),
9213
- ca: union5([string4(), string4().array()]).optional(),
9214
- crl: union5([string4(), string4().array()]).optional(),
9215
- ciphers: string4().optional(),
9216
- rejectUnauthorized: boolean4().optional()
9310
+ init_common2();
9311
+ init_views();
9312
+ mysqlCredentials = union7([
9313
+ object5({
9314
+ host: string5().min(1),
9315
+ port: coerce.number().min(1).optional(),
9316
+ user: string5().min(1).optional(),
9317
+ password: string5().min(1).optional(),
9318
+ database: string5().min(1),
9319
+ ssl: union7([
9320
+ string5(),
9321
+ object5({
9322
+ pfx: string5().optional(),
9323
+ key: string5().optional(),
9324
+ passphrase: string5().optional(),
9325
+ cert: string5().optional(),
9326
+ ca: union7([string5(), string5().array()]).optional(),
9327
+ crl: union7([string5(), string5().array()]).optional(),
9328
+ ciphers: string5().optional(),
9329
+ rejectUnauthorized: boolean5().optional()
9217
9330
  })
9218
9331
  ]).optional()
9219
9332
  }),
9220
- object4({
9221
- url: string4()
9333
+ object5({
9334
+ url: string5().min(1)
9222
9335
  })
9223
9336
  ]);
9224
9337
  }
9225
9338
  });
9226
9339
 
9227
- // src/cli/validations/pg.ts
9228
- import { boolean as boolean5, coerce as coerce2, literal as literal4, object as object5, string as string5, union as union6 } from "zod";
9340
+ // src/cli/validations/postgres.ts
9341
+ import {
9342
+ boolean as boolean6,
9343
+ coerce as coerce2,
9344
+ literal as literal5,
9345
+ object as object6,
9346
+ string as string6,
9347
+ undefined as undefined2,
9348
+ union as union8
9349
+ } from "zod";
9229
9350
  var postgresCredentials;
9230
- var init_pg = __esm({
9231
- "src/cli/validations/pg.ts"() {
9351
+ var init_postgres = __esm({
9352
+ "src/cli/validations/postgres.ts"() {
9232
9353
  "use strict";
9233
- init_outputs();
9234
- postgresCredentials = union6([
9235
- object5({
9236
- host: string5(),
9237
- port: coerce2.number().optional(),
9238
- user: string5().default("postgres"),
9239
- password: string5().optional(),
9240
- database: string5(),
9241
- ssl: union6([
9242
- literal4("require"),
9243
- literal4("allow"),
9244
- literal4("prefer"),
9245
- literal4("verify-full"),
9246
- boolean5(),
9247
- object5({}).passthrough()
9248
- ])
9354
+ init_common2();
9355
+ init_views();
9356
+ postgresCredentials = union8([
9357
+ object6({
9358
+ driver: undefined2(),
9359
+ host: string6().min(1),
9360
+ port: coerce2.number().min(1).optional(),
9361
+ user: string6().min(1).optional(),
9362
+ password: string6().min(1).optional(),
9363
+ database: string6().min(1),
9364
+ ssl: union8([
9365
+ literal5("require"),
9366
+ literal5("allow"),
9367
+ literal5("prefer"),
9368
+ literal5("verify-full"),
9369
+ boolean6(),
9370
+ object6({}).passthrough()
9371
+ ]).optional()
9372
+ }).transform((o) => {
9373
+ delete o.driver;
9374
+ return o;
9249
9375
  }),
9250
- object5({
9251
- url: string5()
9376
+ object6({
9377
+ driver: undefined2(),
9378
+ url: string6().min(1)
9379
+ }).transform((o) => {
9380
+ delete o.driver;
9381
+ return o;
9252
9382
  }),
9253
- object5({
9254
- driver: literal4("aws-data-api"),
9255
- database: string5(),
9256
- secretArn: string5(),
9257
- resourceArn: string5()
9383
+ object6({
9384
+ driver: literal5("aws-data-api"),
9385
+ database: string6().min(1),
9386
+ secretArn: string6().min(1),
9387
+ resourceArn: string6().min(1)
9258
9388
  })
9259
9389
  ]);
9260
9390
  }
9261
9391
  });
9262
9392
 
9263
9393
  // src/cli/validations/sqlite.ts
9264
- import { literal as literal5, object as object6, string as string6, union as union7 } from "zod";
9394
+ import { literal as literal6, object as object7, string as string7, undefined as undefined3, union as union9 } from "zod";
9265
9395
  var sqliteCredentials;
9266
9396
  var init_sqlite = __esm({
9267
9397
  "src/cli/validations/sqlite.ts"() {
9268
9398
  "use strict";
9269
- init_outputs();
9270
- sqliteCredentials = union7([
9271
- object6({
9272
- driver: literal5("turso"),
9273
- url: string6(),
9274
- authToken: string6()
9399
+ init_common2();
9400
+ init_views();
9401
+ init_global();
9402
+ sqliteCredentials = union9([
9403
+ object7({
9404
+ driver: literal6("turso"),
9405
+ url: string7().min(1),
9406
+ authToken: string7().min(1).optional()
9275
9407
  }),
9276
- object6({
9277
- driver: literal5("d1-http"),
9278
- accountId: string6(),
9279
- databaseId: string6(),
9280
- token: string6()
9408
+ object7({
9409
+ driver: literal6("d1-http"),
9410
+ accountId: string7().min(1),
9411
+ databaseId: string7().min(1),
9412
+ token: string7().min(1)
9281
9413
  }),
9282
- object6({
9283
- url: string6()
9414
+ object7({
9415
+ driver: undefined3(),
9416
+ url: string7().min(1)
9417
+ }).transform((o) => {
9418
+ delete o.driver;
9419
+ return o;
9284
9420
  })
9285
9421
  ]);
9286
9422
  }
9287
9423
  });
9288
9424
 
9289
- // src/schemaValidator.ts
9290
- import { enum as enumType4, union as union8 } from "zod";
9291
- var dialect3, commonSquashedSchema, commonSchema;
9292
- var init_schemaValidator = __esm({
9293
- "src/schemaValidator.ts"() {
9294
- "use strict";
9295
- init_mysqlSchema();
9296
- init_pgSchema();
9297
- init_sqliteSchema();
9298
- dialect3 = enumType4(["postgresql", "mysql", "sqlite"]);
9299
- commonSquashedSchema = union8([
9300
- pgSchemaSquashed,
9301
- mysqlSchemaSquashed,
9302
- SQLiteSchemaSquashed
9303
- ]);
9304
- commonSchema = union8([
9305
- pgSchema,
9306
- mysqlSchema,
9307
- sqliteSchema
9308
- ]);
9309
- }
9310
- });
9311
-
9312
- // src/cli/validations/common.ts
9313
- import {
9314
- object as object7,
9315
- string as string7,
9316
- union as union9,
9317
- boolean as boolean6,
9318
- literal as literal6
9319
- } from "zod";
9320
- var sqliteDriver, postgresDriver, mysqlDriver, driver, configCommonSchema, casing, introspectParams, configIntrospectCliSchema, configGenerateSchema, configPushSchema;
9321
- var init_common2 = __esm({
9322
- "src/cli/validations/common.ts"() {
9323
- "use strict";
9324
- init_outputs();
9325
- init_schemaValidator();
9326
- sqliteDriver = union9([
9327
- literal6("better-sqlite"),
9328
- literal6("turso"),
9329
- literal6("libsql"),
9330
- literal6("d1"),
9331
- literal6("d1-http"),
9332
- literal6("expo")
9333
- ]);
9334
- postgresDriver = literal6("aws-data-api");
9335
- mysqlDriver = literal6("mysql2");
9336
- driver = union9([sqliteDriver, postgresDriver, mysqlDriver]);
9337
- configCommonSchema = object7({
9338
- dialect: dialect3,
9339
- schema: union9([string7(), string7().array()]).optional(),
9340
- out: string7().optional(),
9341
- breakpoints: boolean6().optional().default(true),
9342
- driver: driver.optional(),
9343
- tablesFilter: union9([string7(), string7().array()]).optional(),
9344
- schemaFilter: union9([string7(), string7().array()]).default(["public"])
9345
- });
9346
- casing = union9([literal6("camel"), literal6("preserve")]).default(
9347
- "preserve"
9348
- );
9349
- introspectParams = object7({
9350
- schema: union9([string7(), string7().array()]).optional(),
9351
- out: string7().optional().default("./drizzle"),
9352
- breakpoints: boolean6().default(true),
9353
- tablesFilter: union9([string7(), string7().array()]).optional(),
9354
- schemaFilter: union9([string7(), string7().array()]).default(["public"]),
9355
- introspect: object7({
9356
- casing
9357
- }).default({ casing: "camel" })
9358
- });
9359
- configIntrospectCliSchema = object7({
9360
- schema: union9([string7(), string7().array()]).optional(),
9361
- out: string7().optional().default("./drizzle"),
9362
- breakpoints: boolean6().default(true),
9363
- tablesFilter: union9([string7(), string7().array()]).optional(),
9364
- schemaFilter: union9([string7(), string7().array()]).default(["public"]),
9365
- introspectCasing: union9([literal6("camel"), literal6("preserve")]).default(
9366
- "camel"
9367
- )
9368
- });
9369
- configGenerateSchema = object7({
9370
- schema: union9([string7(), string7().array()]),
9371
- out: string7().optional().default("./drizzle"),
9372
- breakpoints: boolean6().default(true)
9373
- });
9374
- configPushSchema = object7({
9375
- dialect: dialect3,
9376
- schema: union9([string7(), string7().array()]),
9377
- tablesFilter: union9([string7(), string7().array()]).optional(),
9378
- schemaFilter: union9([string7(), string7().array()]).default(["public"]),
9379
- verbose: boolean6().default(false),
9380
- strict: boolean6().default(false),
9381
- out: string7().optional()
9382
- });
9383
- }
9384
- });
9385
-
9386
9425
  // src/cli/validations/cli.ts
9387
9426
  import {
9388
9427
  boolean as boolean7,
9389
- intersection as intersection2,
9428
+ intersection,
9390
9429
  literal as literal7,
9391
9430
  object as object8,
9392
9431
  string as string8,
@@ -9430,7 +9469,7 @@ var init_cli = __esm({
9430
9469
  dialect: dialect3.optional(),
9431
9470
  out: string8().optional()
9432
9471
  });
9433
- cliConfigCheck = intersection2(
9472
+ cliConfigCheck = intersection(
9434
9473
  object8({
9435
9474
  config: string8().optional()
9436
9475
  }),
@@ -9440,7 +9479,7 @@ var init_cli = __esm({
9440
9479
  });
9441
9480
 
9442
9481
  // src/cli/validations/studio.ts
9443
- import { coerce as coerce4, intersection as intersection3, object as object9, string as string9, union as union11 } from "zod";
9482
+ import { coerce as coerce3, intersection as intersection2, object as object9, string as string9, union as union11 } from "zod";
9444
9483
  var credentials, studioCliParams, studioConfig;
9445
9484
  var init_studio = __esm({
9446
9485
  "src/cli/validations/studio.ts"() {
@@ -9448,14 +9487,14 @@ var init_studio = __esm({
9448
9487
  init_mysql();
9449
9488
  init_sqlite();
9450
9489
  init_schemaValidator();
9451
- init_pg();
9452
- credentials = intersection3(
9490
+ init_postgres();
9491
+ credentials = intersection2(
9453
9492
  postgresCredentials,
9454
9493
  mysqlCredentials,
9455
9494
  sqliteCredentials
9456
9495
  );
9457
9496
  studioCliParams = object9({
9458
- port: coerce4.number().optional().default(4983),
9497
+ port: coerce3.number().optional().default(4983),
9459
9498
  host: string9().optional().default("127.0.0.1"),
9460
9499
  config: string9().optional()
9461
9500
  });
@@ -9491,7 +9530,7 @@ var init_utils6 = __esm({
9491
9530
  init_views();
9492
9531
  init_global();
9493
9532
  init_mysql();
9494
- init_pg();
9533
+ init_postgres();
9495
9534
  init_sqlite();
9496
9535
  init_common2();
9497
9536
  init_schemaValidator();
@@ -12122,7 +12161,7 @@ var init_jsonStatements = __esm({
12122
12161
  uniqueConstraints: Object.values(uniqueConstraints)
12123
12162
  };
12124
12163
  };
12125
- prepareMySqlCreateTableJson = (table4, json2) => {
12164
+ prepareMySqlCreateTableJson = (table4, json2, internals) => {
12126
12165
  const { name: name2, schema: schema4, columns, compositePrimaryKeys, uniqueConstraints } = table4;
12127
12166
  return {
12128
12167
  type: "create_table",
@@ -12131,7 +12170,8 @@ var init_jsonStatements = __esm({
12131
12170
  columns: Object.values(columns),
12132
12171
  compositePKs: Object.values(compositePrimaryKeys),
12133
12172
  compositePkName: Object.values(compositePrimaryKeys).length > 0 ? json2.tables[name2].compositePrimaryKeys[MySqlSquasher.unsquashPK(Object.values(compositePrimaryKeys)[0]).name].name : "",
12134
- uniqueConstraints: Object.values(uniqueConstraints)
12173
+ uniqueConstraints: Object.values(uniqueConstraints),
12174
+ internals
12135
12175
  };
12136
12176
  };
12137
12177
  prepareSQLiteCreateTable = (table4) => {
@@ -12885,13 +12925,14 @@ var init_jsonStatements = __esm({
12885
12925
  };
12886
12926
  });
12887
12927
  };
12888
- prepareCreateIndexesJson = (tableName, schema4, indexes) => {
12928
+ prepareCreateIndexesJson = (tableName, schema4, indexes, internal) => {
12889
12929
  return Object.values(indexes).map((indexData) => {
12890
12930
  return {
12891
12931
  type: "create_index",
12892
12932
  tableName,
12893
12933
  data: indexData,
12894
- schema: schema4
12934
+ schema: schema4,
12935
+ internal
12895
12936
  };
12896
12937
  });
12897
12938
  };
@@ -13091,7 +13132,7 @@ import {
13091
13132
  array as array2,
13092
13133
  record as record4,
13093
13134
  literal as literal8,
13094
- never
13135
+ never as never2
13095
13136
  } from "zod";
13096
13137
  var makeChanged, makeSelfOrChanged, makePatched, makeSelfOrPatched, columnSchema, alteredColumnSchema, enumSchema2, changedEnumSchema, tableScheme, alteredTableScheme, diffResultScheme, diffResultSchemeMysql, diffResultSchemeSQLite, schemaChangeFor, nameChangeFor, nameSchemaChangeFor, columnChangeFor, applyPgSnapshotsDiff, applyMysqlSnapshotsDiff, applySqliteSnapshotsDiff;
13097
13138
  var init_snapshotsDiffer = __esm({
@@ -13253,11 +13294,11 @@ var init_snapshotsDiffer = __esm({
13253
13294
  }).strict();
13254
13295
  diffResultSchemeMysql = object11({
13255
13296
  alteredTablesWithColumns: alteredTableScheme.array(),
13256
- alteredEnums: never().array()
13297
+ alteredEnums: never2().array()
13257
13298
  }).strict();
13258
13299
  diffResultSchemeSQLite = object11({
13259
13300
  alteredTablesWithColumns: alteredTableScheme.array(),
13260
- alteredEnums: never().array()
13301
+ alteredEnums: never2().array()
13261
13302
  }).strict();
13262
13303
  schemaChangeFor = (table4, renamedSchemas) => {
13263
13304
  for (let ren of renamedSchemas) {
@@ -13839,7 +13880,12 @@ var init_snapshotsDiffer = __esm({
13839
13880
  const typedResult = diffResultSchemeMysql.parse(diffResult);
13840
13881
  const jsonStatements = [];
13841
13882
  const jsonCreateIndexesForCreatedTables = createdTables.map((it) => {
13842
- return prepareCreateIndexesJson(it.name, it.schema, it.indexes);
13883
+ return prepareCreateIndexesJson(
13884
+ it.name,
13885
+ it.schema,
13886
+ it.indexes,
13887
+ curFull.internal
13888
+ );
13843
13889
  }).flat();
13844
13890
  const jsonDropTables = deletedTables.map((it) => {
13845
13891
  return prepareDropTableJson(it);
@@ -13938,7 +13984,8 @@ var init_snapshotsDiffer = __esm({
13938
13984
  return prepareCreateIndexesJson(
13939
13985
  it.name,
13940
13986
  it.schema,
13941
- it.addedIndexes || {}
13987
+ it.addedIndexes || {},
13988
+ curFull.internal
13942
13989
  );
13943
13990
  }).flat();
13944
13991
  const jsonDropIndexesForAllAlteredTables = alteredTables.map((it) => {
@@ -13998,7 +14045,11 @@ var init_snapshotsDiffer = __esm({
13998
14045
  (t) => t.type === "delete_reference"
13999
14046
  );
14000
14047
  const jsonMySqlCreateTables = createdTables.map((it) => {
14001
- return prepareMySqlCreateTableJson(it, curFull);
14048
+ return prepareMySqlCreateTableJson(
14049
+ it,
14050
+ curFull,
14051
+ curFull.internal
14052
+ );
14002
14053
  });
14003
14054
  jsonStatements.push(...jsonMySqlCreateTables);
14004
14055
  jsonStatements.push(...jsonDropTables);
@@ -14038,7 +14089,7 @@ var init_snapshotsDiffer = __esm({
14038
14089
  _meta
14039
14090
  };
14040
14091
  };
14041
- applySqliteSnapshotsDiff = async (json1, json2, tablesResolver2, columnsResolver2) => {
14092
+ applySqliteSnapshotsDiff = async (json1, json2, tablesResolver2, columnsResolver2, prevFull, curFull) => {
14042
14093
  const tablesDiff = diffSchemasOrTables(json1.tables, json2.tables);
14043
14094
  const {
14044
14095
  created: createdTables,
@@ -14118,7 +14169,12 @@ var init_snapshotsDiffer = __esm({
14118
14169
  return prepareSQLiteCreateTable(it);
14119
14170
  });
14120
14171
  const jsonCreateIndexesForCreatedTables = createdTables.map((it) => {
14121
- return prepareCreateIndexesJson(it.name, it.schema, it.indexes);
14172
+ return prepareCreateIndexesJson(
14173
+ it.name,
14174
+ it.schema,
14175
+ it.indexes,
14176
+ curFull.internal
14177
+ );
14122
14178
  }).flat();
14123
14179
  const jsonDropTables = deletedTables.map((it) => {
14124
14180
  return prepareDropTableJson(it);
@@ -14220,7 +14276,8 @@ var init_snapshotsDiffer = __esm({
14220
14276
  return prepareCreateIndexesJson(
14221
14277
  it.name,
14222
14278
  it.schema,
14223
- it.addedIndexes || {}
14279
+ it.addedIndexes || {},
14280
+ curFull.internal
14224
14281
  );
14225
14282
  }).flat();
14226
14283
  const jsonDropIndexesForAllAlteredTables = allAltered.map((it) => {
@@ -14654,7 +14711,14 @@ var init_sqlgenerator = __esm({
14654
14711
  return statement.type === "create_table" && dialect7 === "mysql";
14655
14712
  }
14656
14713
  convert(st) {
14657
- const { tableName, columns, schema: schema4, compositePKs, uniqueConstraints } = st;
14714
+ const {
14715
+ tableName,
14716
+ columns,
14717
+ schema: schema4,
14718
+ compositePKs,
14719
+ uniqueConstraints,
14720
+ internals
14721
+ } = st;
14658
14722
  let statement = "";
14659
14723
  statement += `CREATE TABLE \`${tableName}\` (
14660
14724
  `;
@@ -14677,7 +14741,10 @@ var init_sqlgenerator = __esm({
14677
14741
  for (const uniqueConstraint4 of uniqueConstraints) {
14678
14742
  statement += ",\n";
14679
14743
  const unsquashedUnique = MySqlSquasher.unsquashUnique(uniqueConstraint4);
14680
- statement += ` CONSTRAINT \`${unsquashedUnique.name}\` UNIQUE(\`${unsquashedUnique.columns.join(`\`,\``)}\`)`;
14744
+ const uniqueString = unsquashedUnique.columns.map((it) => {
14745
+ return internals?.indexes ? internals?.indexes[unsquashedUnique.name]?.columns[it]?.isExpression ? it : `\`${it}\`` : `\`${it}\``;
14746
+ }).join(",");
14747
+ statement += ` CONSTRAINT \`${unsquashedUnique.name}\` UNIQUE(${uniqueString})`;
14681
14748
  }
14682
14749
  }
14683
14750
  statement += `
@@ -15606,8 +15673,10 @@ ${BREAKPOINT}ALTER TABLE ${tableNameWithSchema} ADD CONSTRAINT ${statement.newCo
15606
15673
  statement.data
15607
15674
  );
15608
15675
  const indexPart = isUnique ? "UNIQUE INDEX" : "INDEX";
15609
- const value = columns.map((it) => `\`${it}\``).join(",");
15610
- return `CREATE ${indexPart} \`${name2}\` ON \`${statement.tableName}\` (${value});`;
15676
+ const uniqueString = columns.map((it) => {
15677
+ return statement.internal?.indexes ? statement.internal?.indexes[name2]?.columns[it]?.isExpression ? it : `\`${it}\`` : `\`${it}\``;
15678
+ }).join(",");
15679
+ return `CREATE ${indexPart} \`${name2}\` ON \`${statement.tableName}\` (${uniqueString});`;
15611
15680
  }
15612
15681
  };
15613
15682
  CreateSqliteIndexConvertor = class extends Convertor {
@@ -15620,8 +15689,10 @@ ${BREAKPOINT}ALTER TABLE ${tableNameWithSchema} ADD CONSTRAINT ${statement.newCo
15620
15689
  );
15621
15690
  const indexPart = isUnique ? "UNIQUE INDEX" : "INDEX";
15622
15691
  const whereStatement = where ? ` WHERE ${where}` : "";
15623
- const value = columns.map((it) => `\`${it}\``).join(",");
15624
- return `CREATE ${indexPart} \`${name2}\` ON \`${statement.tableName}\` (${value})${whereStatement};`;
15692
+ const uniqueString = columns.map((it) => {
15693
+ return statement.internal?.indexes ? statement.internal?.indexes[name2]?.columns[it]?.isExpression ? it : `\`${it}\`` : `\`${it}\``;
15694
+ }).join(",");
15695
+ return `CREATE ${indexPart} \`${name2}\` ON \`${statement.tableName}\` (${uniqueString})${whereStatement};`;
15625
15696
  }
15626
15697
  };
15627
15698
  PgDropIndexConvertor = class extends Convertor {
@@ -19197,6 +19268,7 @@ var init_sqliteSerializer = __esm({
19197
19268
  dialect5 = new SQLiteSyncDialect();
19198
19269
  generateSqliteSnapshot = (tables) => {
19199
19270
  const result = {};
19271
+ const internal = { indexes: {} };
19200
19272
  for (const table4 of tables) {
19201
19273
  const columnsObject = {};
19202
19274
  const indexesObject = {};
@@ -19283,7 +19355,25 @@ ${withStyle.errorWarning(`We've found duplicated unique constraint names in ${so
19283
19355
  const name2 = value.config.name;
19284
19356
  let indexColumns = columns2.map((it) => {
19285
19357
  if (is(it, SQL)) {
19286
- return dialect5.sqlToQuery(it, "indexes").sql;
19358
+ const sql2 = dialect5.sqlToQuery(it, "indexes").sql;
19359
+ if (typeof internal.indexes[name2] === "undefined") {
19360
+ internal.indexes[name2] = {
19361
+ columns: {
19362
+ [sql2]: {
19363
+ isExpression: true
19364
+ }
19365
+ }
19366
+ };
19367
+ } else {
19368
+ if (typeof internal.indexes[name2]?.columns[sql2] === "undefined") {
19369
+ internal.indexes[name2].columns[sql2] = {
19370
+ isExpression: true
19371
+ };
19372
+ } else {
19373
+ internal.indexes[name2].columns[sql2].isExpression = true;
19374
+ }
19375
+ }
19376
+ return sql2;
19287
19377
  } else {
19288
19378
  return it.name;
19289
19379
  }
@@ -19357,7 +19447,8 @@ The unique constraint ${source_default.underline.blue(
19357
19447
  _meta: {
19358
19448
  tables: {},
19359
19449
  columns: {}
19360
- }
19450
+ },
19451
+ internal
19361
19452
  };
19362
19453
  };
19363
19454
  fromDatabase2 = async (db, tablesFilter = (table4) => true, progressCallback) => {
@@ -23619,6 +23710,7 @@ var init_mysqlSerializer = __esm({
23619
23710
  dialect6 = new MySqlDialect();
23620
23711
  generateMySqlSnapshot = (tables) => {
23621
23712
  const result = {};
23713
+ const internal = { tables: {}, indexes: {} };
23622
23714
  for (const table4 of tables) {
23623
23715
  const {
23624
23716
  name: tableName,
@@ -23770,9 +23862,27 @@ The unique constraint ${source_default.underline.blue(
23770
23862
  const name2 = value.config.name;
23771
23863
  let indexColumns = columns2.map((it) => {
23772
23864
  if (is(it, SQL)) {
23773
- return dialect6.sqlToQuery(it, "indexes").sql;
23865
+ const sql2 = dialect6.sqlToQuery(it, "indexes").sql;
23866
+ if (typeof internal.indexes[name2] === "undefined") {
23867
+ internal.indexes[name2] = {
23868
+ columns: {
23869
+ [sql2]: {
23870
+ isExpression: true
23871
+ }
23872
+ }
23873
+ };
23874
+ } else {
23875
+ if (typeof internal.indexes[name2]?.columns[sql2] === "undefined") {
23876
+ internal.indexes[name2].columns[sql2] = {
23877
+ isExpression: true
23878
+ };
23879
+ } else {
23880
+ internal.indexes[name2].columns[sql2].isExpression = true;
23881
+ }
23882
+ }
23883
+ return sql2;
23774
23884
  } else {
23775
- return it.name;
23885
+ return `${it.name}`;
23776
23886
  }
23777
23887
  });
23778
23888
  if (value.config.unique) {
@@ -23839,12 +23949,13 @@ We have encountered a collision between the index name on columns ${source_defau
23839
23949
  _meta: {
23840
23950
  tables: {},
23841
23951
  columns: {}
23842
- }
23952
+ },
23953
+ internal
23843
23954
  };
23844
23955
  };
23845
23956
  fromDatabase3 = async (db, inputSchema, tablesFilter = (table4) => true, progressCallback) => {
23846
23957
  const result = {};
23847
- const internals = { tables: {} };
23958
+ const internals = { tables: {}, indexes: {} };
23848
23959
  const columns = await db.query(`select * from information_schema.columns
23849
23960
  where table_schema = '${inputSchema}' and table_name != '__drizzle_migrations'
23850
23961
  order by table_name, ordinal_position;`);
@@ -25373,7 +25484,9 @@ var generateSQLiteMigration = async (prev, cur) => {
25373
25484
  squashedPrev,
25374
25485
  squashedCur,
25375
25486
  tablesResolver,
25376
- columnsResolver
25487
+ columnsResolver,
25488
+ validatedPrev,
25489
+ validatedCur
25377
25490
  );
25378
25491
  return sqlStatements;
25379
25492
  };
@@ -25402,7 +25515,9 @@ var pushSQLiteSchema = async (imports, drizzleInstance) => {
25402
25515
  squashedPrev,
25403
25516
  squashedCur,
25404
25517
  tablesResolver,
25405
- columnsResolver
25518
+ columnsResolver,
25519
+ validatedPrev,
25520
+ validatedCur
25406
25521
  );
25407
25522
  const { shouldAskForApprove, statementsToExecute, infoToPrint } = await logSuggestionsAndReturn(
25408
25523
  db,