@warlock.js/cascade 4.0.141 → 4.0.143

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 (87) hide show
  1. package/cjs/contracts/database-driver.contract.d.ts +14 -0
  2. package/cjs/contracts/database-driver.contract.d.ts.map +1 -1
  3. package/cjs/drivers/postgres/postgres-driver.d.ts +6 -0
  4. package/cjs/drivers/postgres/postgres-driver.d.ts.map +1 -1
  5. package/cjs/drivers/postgres/postgres-driver.js +8 -1
  6. package/cjs/drivers/postgres/postgres-driver.js.map +1 -1
  7. package/cjs/drivers/postgres/postgres-sql-serializer.d.ts +37 -0
  8. package/cjs/drivers/postgres/postgres-sql-serializer.d.ts.map +1 -0
  9. package/cjs/drivers/postgres/postgres-sql-serializer.js +394 -0
  10. package/cjs/drivers/postgres/postgres-sql-serializer.js.map +1 -0
  11. package/cjs/index.js +1 -1
  12. package/cjs/migration/column-builder.d.ts +14 -4
  13. package/cjs/migration/column-builder.d.ts.map +1 -1
  14. package/cjs/migration/column-builder.js +14 -5
  15. package/cjs/migration/column-builder.js.map +1 -1
  16. package/cjs/migration/column-helpers.d.ts +269 -0
  17. package/cjs/migration/column-helpers.d.ts.map +1 -0
  18. package/cjs/migration/column-helpers.js +384 -0
  19. package/cjs/migration/column-helpers.js.map +1 -0
  20. package/cjs/migration/index.d.ts +1 -0
  21. package/cjs/migration/index.d.ts.map +1 -1
  22. package/cjs/migration/migration-runner.d.ts +32 -1
  23. package/cjs/migration/migration-runner.d.ts.map +1 -1
  24. package/cjs/migration/migration-runner.js +216 -46
  25. package/cjs/migration/migration-runner.js.map +1 -1
  26. package/cjs/migration/migration.d.ts +337 -4
  27. package/cjs/migration/migration.d.ts.map +1 -1
  28. package/cjs/migration/migration.js +331 -4
  29. package/cjs/migration/migration.js.map +1 -1
  30. package/cjs/migration/sql-grammar.d.ts +18 -0
  31. package/cjs/migration/sql-grammar.d.ts.map +1 -0
  32. package/cjs/migration/sql-grammar.js +77 -0
  33. package/cjs/migration/sql-grammar.js.map +1 -0
  34. package/cjs/migration/sql-serializer.d.ts +22 -0
  35. package/cjs/migration/sql-serializer.d.ts.map +1 -0
  36. package/cjs/migration/sql-serializer.js +26 -0
  37. package/cjs/migration/sql-serializer.js.map +1 -0
  38. package/cjs/migration/types.d.ts +13 -0
  39. package/cjs/migration/types.d.ts.map +1 -1
  40. package/cjs/types.d.ts +23 -0
  41. package/cjs/types.d.ts.map +1 -1
  42. package/cjs/writer/database-writer.js +4 -4
  43. package/cjs/writer/database-writer.js.map +1 -1
  44. package/esm/contracts/database-driver.contract.d.ts +14 -0
  45. package/esm/contracts/database-driver.contract.d.ts.map +1 -1
  46. package/esm/drivers/postgres/postgres-driver.d.ts +6 -0
  47. package/esm/drivers/postgres/postgres-driver.d.ts.map +1 -1
  48. package/esm/drivers/postgres/postgres-driver.js +8 -1
  49. package/esm/drivers/postgres/postgres-driver.js.map +1 -1
  50. package/esm/drivers/postgres/postgres-sql-serializer.d.ts +37 -0
  51. package/esm/drivers/postgres/postgres-sql-serializer.d.ts.map +1 -0
  52. package/esm/drivers/postgres/postgres-sql-serializer.js +394 -0
  53. package/esm/drivers/postgres/postgres-sql-serializer.js.map +1 -0
  54. package/esm/index.js +1 -1
  55. package/esm/migration/column-builder.d.ts +14 -4
  56. package/esm/migration/column-builder.d.ts.map +1 -1
  57. package/esm/migration/column-builder.js +14 -5
  58. package/esm/migration/column-builder.js.map +1 -1
  59. package/esm/migration/column-helpers.d.ts +269 -0
  60. package/esm/migration/column-helpers.d.ts.map +1 -0
  61. package/esm/migration/column-helpers.js +384 -0
  62. package/esm/migration/column-helpers.js.map +1 -0
  63. package/esm/migration/index.d.ts +1 -0
  64. package/esm/migration/index.d.ts.map +1 -1
  65. package/esm/migration/migration-runner.d.ts +32 -1
  66. package/esm/migration/migration-runner.d.ts.map +1 -1
  67. package/esm/migration/migration-runner.js +216 -46
  68. package/esm/migration/migration-runner.js.map +1 -1
  69. package/esm/migration/migration.d.ts +337 -4
  70. package/esm/migration/migration.d.ts.map +1 -1
  71. package/esm/migration/migration.js +331 -4
  72. package/esm/migration/migration.js.map +1 -1
  73. package/esm/migration/sql-grammar.d.ts +18 -0
  74. package/esm/migration/sql-grammar.d.ts.map +1 -0
  75. package/esm/migration/sql-grammar.js +77 -0
  76. package/esm/migration/sql-grammar.js.map +1 -0
  77. package/esm/migration/sql-serializer.d.ts +22 -0
  78. package/esm/migration/sql-serializer.d.ts.map +1 -0
  79. package/esm/migration/sql-serializer.js +26 -0
  80. package/esm/migration/sql-serializer.js.map +1 -0
  81. package/esm/migration/types.d.ts +13 -0
  82. package/esm/migration/types.d.ts.map +1 -1
  83. package/esm/types.d.ts +23 -0
  84. package/esm/types.d.ts.map +1 -1
  85. package/esm/writer/database-writer.js +4 -4
  86. package/esm/writer/database-writer.js.map +1 -1
  87. package/package.json +4 -4
@@ -102,6 +102,7 @@ class Migration {
102
102
  * Migration defaults from the resolved DataSource.
103
103
  * @internal
104
104
  */
105
+ /** @internal — readable by factory-generated subclasses */
105
106
  _migrationDefaults;
106
107
  /**
107
108
  * Queued operations to execute.
@@ -182,9 +183,8 @@ class Migration {
182
183
  /**
183
184
  * Execute all pending operations.
184
185
  *
185
- * Called by the migration runner after up() or down() completes.
186
- * Executes operations in the order they were defined.
187
- *
186
+ * @deprecated Use toSQL() instead migrations now generate SQL rather than
187
+ * executing DDL directly through the driver.
188
188
  * @internal
189
189
  */
190
190
  async execute() {
@@ -193,6 +193,33 @@ class Migration {
193
193
  }
194
194
  this.pendingOperations.length = 0;
195
195
  }
196
+ /**
197
+ * Serialize all queued pending operations into a flat list of SQL strings.
198
+ *
199
+ * Call this AFTER invoking `up()` or `down()` to extract the SQL for the
200
+ * operations that were queued during that call. The pending queue is cleared
201
+ * after serializing so the instance is safe to reuse.
202
+ *
203
+ * @example
204
+ * ```typescript
205
+ * const migration = new CreateUsersTable();
206
+ * migration.setDriver(driver);
207
+ *
208
+ * // Up SQL
209
+ * await migration.up();
210
+ * const upSQL = migration.toSQL();
211
+ *
212
+ * // Down SQL — reuse the same instance
213
+ * await migration.down();
214
+ * const downSQL = migration.toSQL();
215
+ * ```
216
+ */
217
+ toSQL() {
218
+ const serializer = this.driver.driver.getSQLSerializer();
219
+ const statements = serializer.serializeAll(this.pendingOperations, this.table);
220
+ this.pendingOperations.length = 0;
221
+ return statements;
222
+ }
196
223
  /**
197
224
  * Execute a single pending operation.
198
225
  */
@@ -1791,6 +1818,21 @@ class Migration {
1791
1818
  });
1792
1819
  return this;
1793
1820
  }
1821
+ // ============================================================================
1822
+ // DECLARATIVE FACTORY STUBS
1823
+ // These are assigned after the class body — declared here so TS knows the
1824
+ // shape of the static members without triggering abstract-class restrictions.
1825
+ // ============================================================================
1826
+ /**
1827
+ * Create a declarative initial-table migration.
1828
+ * Implemented and assigned below the class body.
1829
+ */
1830
+ static create;
1831
+ /**
1832
+ * Create a declarative alteration migration.
1833
+ * Implemented and assigned below the class body.
1834
+ */
1835
+ static alter;
1794
1836
  }
1795
1837
  function migrate(model, options) {
1796
1838
  return class AnonymousMigration extends Migration {
@@ -1805,4 +1847,289 @@ function migrate(model, options) {
1805
1847
  await options?.down?.call(this);
1806
1848
  }
1807
1849
  };
1808
- }exports.Migration=Migration;exports.migrate=migrate;//# sourceMappingURL=migration.js.map
1850
+ }
1851
+ /**
1852
+ * Wire a `ColumnMap` onto an active migration instance.
1853
+ *
1854
+ * Fixes up the placeholder column name in each `DetachedColumnBuilder`,
1855
+ * pushes the `addColumn` operation, and transfers any pending FK / index
1856
+ * side effects from the detached sink to the real migration.
1857
+ *
1858
+ * @internal
1859
+ */
1860
+ function wireColumns(migration, columns) {
1861
+ for (const [columnName, detached] of Object.entries(columns)) {
1862
+ // Overwrite the placeholder name with the real key
1863
+ const definition = detached.getDefinition();
1864
+ definition.name = columnName;
1865
+ // Push the addColumn operation
1866
+ migration.pendingOperations.push({
1867
+ type: "addColumn",
1868
+ payload: definition,
1869
+ });
1870
+ // Transfer any index operations registered via .unique() / .index()
1871
+ for (const idx of detached.sink.pendingIndexes) {
1872
+ migration.addPendingIndex(idx);
1873
+ }
1874
+ // Transfer any FK operations registered via .references()
1875
+ for (const fk of detached.sink.pendingForeignKeys) {
1876
+ // Fix the column name on the FK definition too
1877
+ fk.column = columnName;
1878
+ migration.addForeignKeyOperation(fk);
1879
+ }
1880
+ }
1881
+ }
1882
+ /**
1883
+ * Create a declarative initial-table migration.
1884
+ *
1885
+ * Automatically handles:
1886
+ * - `createTableIfNotExists()`
1887
+ * - Primary key (type resolved from `migrationDefaults.primaryKey` → options → `"int"`)
1888
+ * - `timestamps()`
1889
+ * - `down()` → `dropTableIfExists()`
1890
+ *
1891
+ * The class-based API remains available for complex migrations (raw SQL,
1892
+ * data backfills, conditional logic).
1893
+ *
1894
+ * @param model - Model class to bind (provides table name + data source)
1895
+ * @param columns - Column definitions keyed by column name
1896
+ * @param options - Optional overrides
1897
+ *
1898
+ * @example
1899
+ * ```typescript
1900
+ * import { Migration, uuid, text, timestamp } from "@warlock.js/cascade";
1901
+ * import { Organization } from "app/organizations/models/organization";
1902
+ * import { Chat } from "../chat.model";
1903
+ *
1904
+ * export default Migration.create(Chat, {
1905
+ * organization_id: uuid().references(Organization).onDelete("cascade"),
1906
+ * title: text(),
1907
+ * status: text(),
1908
+ * started_at: timestamp().default("NOW()"),
1909
+ * closed_at: timestamp().nullable(),
1910
+ * }, { order: 5 });
1911
+ * ```
1912
+ */
1913
+ Migration.create = function createMigration(model, columns, options = {}) {
1914
+ const { order = 0, createdAt, primaryKey: primaryKeyOverride, timestamps: withTimestamps = true, transactional, } = options;
1915
+ return class DeclarativeMigration extends Migration {
1916
+ static order = order;
1917
+ static createdAt = createdAt;
1918
+ static transactional = transactional;
1919
+ table = model.table;
1920
+ dataSource = model.dataSource;
1921
+ async up() {
1922
+ this.createTableIfNotExists();
1923
+ // Resolve primary key type: option → migrationDefaults → "int"
1924
+ const pkType = primaryKeyOverride !== undefined
1925
+ ? primaryKeyOverride
1926
+ : (this._migrationDefaults?.primaryKey ?? "int");
1927
+ if (pkType === "uuid") {
1928
+ this.primaryUuid();
1929
+ }
1930
+ else if (pkType === "bigInt") {
1931
+ this.bigId();
1932
+ }
1933
+ else if (pkType === "int") {
1934
+ this.id();
1935
+ }
1936
+ // pkType === false → skip primary key
1937
+ wireColumns(this, columns);
1938
+ if (withTimestamps) {
1939
+ this.timestamps();
1940
+ }
1941
+ if (options.raw) {
1942
+ const rawQueries = Array.isArray(options.raw) ? options.raw : [options.raw];
1943
+ for (const query of rawQueries) {
1944
+ this.raw(query);
1945
+ }
1946
+ }
1947
+ if (options.up) {
1948
+ await options.up.call(this);
1949
+ }
1950
+ }
1951
+ async down() {
1952
+ if (options.down) {
1953
+ await options.down.call(this);
1954
+ }
1955
+ this.dropTableIfExists();
1956
+ }
1957
+ };
1958
+ };
1959
+ /**
1960
+ * Create a declarative alteration migration.
1961
+ *
1962
+ * @param model - Model class to bind
1963
+ * @param schema - What to add / drop / rename / modify
1964
+ * @param options - Optional overrides
1965
+ *
1966
+ * @example
1967
+ * ```typescript
1968
+ * import { Migration, text } from "@warlock.js/cascade";
1969
+ * import { User } from "../user.model";
1970
+ *
1971
+ * export default Migration.alter(User, {
1972
+ * add: {
1973
+ * phone: text().nullable(),
1974
+ * avatar: text().nullable(),
1975
+ * },
1976
+ * drop: ["legacy_field"],
1977
+ * rename: { old_name: "new_name" },
1978
+ * });
1979
+ * ```
1980
+ */
1981
+ Migration.alter = function alterMigration(model, schema, options = {}) {
1982
+ const { order = 0, createdAt, transactional } = options;
1983
+ return class AlterMigration extends Migration {
1984
+ static order = order;
1985
+ static createdAt = createdAt;
1986
+ static transactional = transactional;
1987
+ table = model.table;
1988
+ dataSource = model.dataSource;
1989
+ async up() {
1990
+ // ── Column Operations ─────────────────────────────────────────────────
1991
+ if (schema.add) {
1992
+ wireColumns(this, schema.add);
1993
+ }
1994
+ if (schema.drop) {
1995
+ for (const col of schema.drop) {
1996
+ this.dropColumn(col);
1997
+ }
1998
+ }
1999
+ if (schema.rename) {
2000
+ for (const [from, to] of Object.entries(schema.rename)) {
2001
+ this.renameColumn(from, to);
2002
+ }
2003
+ }
2004
+ if (schema.modify) {
2005
+ for (const [columnName, detached] of Object.entries(schema.modify)) {
2006
+ const definition = detached.getDefinition();
2007
+ definition.name = columnName;
2008
+ this.pendingOperations.push({
2009
+ type: "modifyColumn",
2010
+ payload: definition,
2011
+ });
2012
+ // Transfer FK side effects
2013
+ for (const fk of detached.sink.pendingForeignKeys) {
2014
+ fk.column = columnName;
2015
+ this.addForeignKeyOperation(fk);
2016
+ }
2017
+ }
2018
+ }
2019
+ // ── Regular Indexes ───────────────────────────────────────────────────
2020
+ if (schema.addIndex) {
2021
+ for (const { columns, name, options: opts } of schema.addIndex) {
2022
+ this.index(columns, name, opts);
2023
+ }
2024
+ }
2025
+ if (schema.dropIndex) {
2026
+ for (const target of schema.dropIndex) {
2027
+ this.dropIndex(target);
2028
+ }
2029
+ }
2030
+ // ── Unique Indexes ────────────────────────────────────────────────────
2031
+ if (schema.addUnique) {
2032
+ for (const { columns, name, options: opts } of schema.addUnique) {
2033
+ this.unique(columns, name, opts);
2034
+ }
2035
+ }
2036
+ if (schema.dropUnique) {
2037
+ for (const cols of schema.dropUnique) {
2038
+ this.dropUnique(cols);
2039
+ }
2040
+ }
2041
+ // ── Expression Indexes ───────────────────────────────────────────────
2042
+ if (schema.addExpressionIndex) {
2043
+ for (const { expressions, name, options: opts } of schema.addExpressionIndex) {
2044
+ this.expressionIndex(expressions, name, opts);
2045
+ }
2046
+ }
2047
+ // ── Specialized Indexes ───────────────────────────────────────────────
2048
+ if (schema.addFullText) {
2049
+ for (const { columns, options: opts } of schema.addFullText) {
2050
+ this.fullText(columns, opts);
2051
+ }
2052
+ }
2053
+ if (schema.dropFullText) {
2054
+ for (const name of schema.dropFullText) {
2055
+ this.dropFullText(name);
2056
+ }
2057
+ }
2058
+ if (schema.addGeoIndex) {
2059
+ for (const { column, options: opts } of schema.addGeoIndex) {
2060
+ this.geoIndex(column, opts);
2061
+ }
2062
+ }
2063
+ if (schema.dropGeoIndex) {
2064
+ for (const column of schema.dropGeoIndex) {
2065
+ this.dropGeoIndex(column);
2066
+ }
2067
+ }
2068
+ if (schema.addVectorIndex) {
2069
+ for (const { column, options: opts } of schema.addVectorIndex) {
2070
+ this.vectorIndex(column, opts);
2071
+ }
2072
+ }
2073
+ if (schema.dropVectorIndex) {
2074
+ for (const column of schema.dropVectorIndex) {
2075
+ this.dropVectorIndex(column);
2076
+ }
2077
+ }
2078
+ if (schema.addTTLIndex) {
2079
+ for (const { column, expireAfterSeconds } of schema.addTTLIndex) {
2080
+ this.ttlIndex(column, expireAfterSeconds);
2081
+ }
2082
+ }
2083
+ if (schema.dropTTLIndex) {
2084
+ for (const column of schema.dropTTLIndex) {
2085
+ this.dropTTLIndex(column);
2086
+ }
2087
+ }
2088
+ // ── Foreign Keys ──────────────────────────────────────────────────────
2089
+ if (schema.addForeign) {
2090
+ for (const fk of schema.addForeign) {
2091
+ const tableName = typeof fk.references === "string" ? fk.references : fk.references.table;
2092
+ this.foreign(fk.column)
2093
+ .references(tableName, fk.on ?? "id")
2094
+ .onDelete(fk.onDelete ?? "restrict")
2095
+ .onUpdate(fk.onUpdate ?? "restrict");
2096
+ }
2097
+ }
2098
+ if (schema.dropForeign) {
2099
+ for (const { columnOrConstraint, referencesTable } of schema.dropForeign) {
2100
+ this.dropForeign(columnOrConstraint, referencesTable);
2101
+ }
2102
+ }
2103
+ // ── Check Constraints ─────────────────────────────────────────────────
2104
+ if (schema.addCheck) {
2105
+ for (const { name, expression } of schema.addCheck) {
2106
+ this.check(name, expression);
2107
+ }
2108
+ }
2109
+ if (schema.dropCheck) {
2110
+ for (const name of schema.dropCheck) {
2111
+ this.dropCheck(name);
2112
+ }
2113
+ }
2114
+ // ── Raw SQL ───────────────────────────────────────────────────────────
2115
+ if (schema.raw) {
2116
+ const rawQueries = Array.isArray(schema.raw) ? schema.raw : [schema.raw];
2117
+ for (const query of rawQueries) {
2118
+ this.raw(query);
2119
+ }
2120
+ }
2121
+ if (options.up) {
2122
+ await options.up.call(this);
2123
+ }
2124
+ }
2125
+ async down() {
2126
+ if (options.down) {
2127
+ await options.down.call(this);
2128
+ }
2129
+ }
2130
+ };
2131
+ };
2132
+ // The no-op re-assignments below silence the TS "used before assigned" check;
2133
+ // the real implementations are set by the Migration.create = ... and
2134
+ // Migration.alter = ... blocks immediately above.
2135
+ Migration.__declarativeFactoriesAttached = true;exports.Migration=Migration;exports.migrate=migrate;//# sourceMappingURL=migration.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"migration.js","sources":["../../src/migration/migration.ts"],"sourcesContent":[null],"names":["ColumnBuilder","ForeignKeyBuilder"],"mappings":"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"}
1
+ {"version":3,"file":"migration.js","sources":["../../src/migration/migration.ts"],"sourcesContent":[null],"names":["ColumnBuilder","ForeignKeyBuilder"],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { TaggedSQL } from "./types";
2
+ /**
3
+ * Parses and sorts SQL statements globally based on their execution phase.
4
+ */
5
+ export declare class SQLGrammar {
6
+ /**
7
+ * Classify a raw SQL statement into one of the 6 execution phases.
8
+ *
9
+ * @param sql The SQL statement
10
+ * @returns Phase 1-6
11
+ */
12
+ static classify(sql: string): 1 | 2 | 3 | 4 | 5 | 6;
13
+ /**
14
+ * Sort an array of tagged SQL statements sequentially by phase, then by creation date, then by migration name.
15
+ */
16
+ static sort(statements: TaggedSQL[]): TaggedSQL[];
17
+ }
18
+ //# sourceMappingURL=sql-grammar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sql-grammar.d.ts","sourceRoot":"","sources":["../../src/migration/sql-grammar.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC;;GAEG;AACH,qBAAa,UAAU;IACrB;;;;;OAKG;WACW,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;IAsD1D;;OAEG;WACW,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE;CAoBzD"}
@@ -0,0 +1,77 @@
1
+ 'use strict';/**
2
+ * Parses and sorts SQL statements globally based on their execution phase.
3
+ */
4
+ class SQLGrammar {
5
+ /**
6
+ * Classify a raw SQL statement into one of the 6 execution phases.
7
+ *
8
+ * @param sql The SQL statement
9
+ * @returns Phase 1-6
10
+ */
11
+ static classify(sql) {
12
+ const s = sql.trim().toUpperCase();
13
+ // Phase 1: Preparation (Extensions, Enums, Domains, Types)
14
+ if (s.startsWith("CREATE EXTENSION") ||
15
+ s.startsWith("CREATE TYPE") ||
16
+ s.startsWith("CREATE DOMAIN") ||
17
+ s.startsWith("CREATE SCHEMA")) {
18
+ return 1;
19
+ }
20
+ // Phase 2: Table Creation (CREATE TABLE ...)
21
+ if (s.startsWith("CREATE TABLE")) {
22
+ return 2;
23
+ }
24
+ // Phase 3: Column Creation (ALTER TABLE ... ADD COLUMN ... without references)
25
+ // Actually, our PostgresSQLSerializer generates ADD COLUMN, DROP COLUMN, etc.
26
+ // Let's distinguish destructive and non-destructive ALTERs.
27
+ if (s.startsWith("ALTER TABLE")) {
28
+ if (s.includes("ADD CONSTRAINT") && s.includes("FOREIGN KEY")) {
29
+ // Phase 4: Indexes & Constraints
30
+ return 4;
31
+ }
32
+ if (s.includes("DROP COLUMN") || s.includes("DROP CONSTRAINT") || s.includes("ALTER COLUMN")) {
33
+ // Phase 5: Destructive Column Modification
34
+ return 5;
35
+ }
36
+ if (s.includes("ADD COLUMN")) {
37
+ // Phase 3: Column Addition
38
+ return 3;
39
+ }
40
+ if (s.includes("ADD CONSTRAINT") && s.includes("PRIMARY KEY")) {
41
+ // Primary keys can be phase 3 or 4, usually 3 is fine before FKs
42
+ return 3;
43
+ }
44
+ }
45
+ // Phase 4: Indexes & Constraints
46
+ if (s.startsWith("CREATE INDEX") || s.startsWith("CREATE UNIQUE INDEX")) {
47
+ return 4;
48
+ }
49
+ // Phase 5: Table and Database Drops/Destructive Operations
50
+ if (s.startsWith("DROP TABLE") || s.startsWith("TRUNCATE TABLE") || s.startsWith("DROP INDEX")) {
51
+ return 5;
52
+ }
53
+ // Phase 6: Raw/Unclassified statements (Data manipulation, triggers, procedures, views)
54
+ return 6;
55
+ }
56
+ /**
57
+ * Sort an array of tagged SQL statements sequentially by phase, then by creation date, then by migration name.
58
+ */
59
+ static sort(statements) {
60
+ return statements.slice().sort((a, b) => {
61
+ // 1. Sort by Phase (ascending)
62
+ if (a.phase !== b.phase) {
63
+ return a.phase - b.phase;
64
+ }
65
+ // 2. Sort by CreatedAt (within same phase)
66
+ const dateA = a.createdAt ? new Date(a.createdAt).getTime() : 0;
67
+ const dateB = b.createdAt ? new Date(b.createdAt).getTime() : 0;
68
+ if (dateA !== dateB) {
69
+ return dateA - dateB;
70
+ }
71
+ // 3. Sort by Migration Name (tie-breaker)
72
+ const nameA = a.migrationName || "";
73
+ const nameB = b.migrationName || "";
74
+ return nameA.localeCompare(nameB);
75
+ });
76
+ }
77
+ }exports.SQLGrammar=SQLGrammar;//# sourceMappingURL=sql-grammar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sql-grammar.js","sources":["../../src/migration/sql-grammar.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import type { PendingOperation } from "./migration";
2
+ /**
3
+ * Converts PendingOperation objects to SQL strings for a specific dialect.
4
+ */
5
+ export declare abstract class SQLSerializer {
6
+ /**
7
+ * Serialize a single pending operation into one or more SQL strings.
8
+ *
9
+ * Return `string` for single-statement operations, `string[]` for
10
+ * multi-statement ones (e.g. `createTimestamps` emits two ALTER TABLE
11
+ * statements), and `null` for no-ops.
12
+ */
13
+ abstract serialize(operation: PendingOperation, table: string): string | string[] | null;
14
+ /**
15
+ * Serialize an array of operations to a flat list of SQL strings.
16
+ *
17
+ * Array results from serialize() are automatically flattened, and nulls
18
+ * (no-ops) are filtered out.
19
+ */
20
+ serializeAll(operations: PendingOperation[], table: string): string[];
21
+ }
22
+ //# sourceMappingURL=sql-serializer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sql-serializer.d.ts","sourceRoot":"","sources":["../../src/migration/sql-serializer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD;;GAEG;AACH,8BAAsB,aAAa;IACjC;;;;;;OAMG;IACH,QAAQ,CAAC,SAAS,CAAC,SAAS,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI;IAExF;;;;;OAKG;IACH,YAAY,CAAC,UAAU,EAAE,gBAAgB,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;CAetE"}