@zyraxon-ai/effect-drizzle-sqlite 19.0.5

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 (77) hide show
  1. package/dist/effect-sqlite/driver.d.ts +44 -0
  2. package/dist/effect-sqlite/driver.d.ts.map +1 -0
  3. package/dist/effect-sqlite/driver.js +55 -0
  4. package/dist/effect-sqlite/driver.js.map +1 -0
  5. package/dist/effect-sqlite/index.d.ts +4 -0
  6. package/dist/effect-sqlite/index.d.ts.map +1 -0
  7. package/dist/effect-sqlite/index.js +5 -0
  8. package/dist/effect-sqlite/index.js.map +1 -0
  9. package/dist/effect-sqlite/migrator.d.ts +5 -0
  10. package/dist/effect-sqlite/migrator.d.ts.map +1 -0
  11. package/dist/effect-sqlite/migrator.js +7 -0
  12. package/dist/effect-sqlite/migrator.js.map +1 -0
  13. package/dist/effect-sqlite/session.d.ts +48 -0
  14. package/dist/effect-sqlite/session.d.ts.map +1 -0
  15. package/dist/effect-sqlite/session.js +78 -0
  16. package/dist/effect-sqlite/session.js.map +1 -0
  17. package/dist/index.d.ts +6 -0
  18. package/dist/index.d.ts.map +1 -0
  19. package/dist/index.js +6 -0
  20. package/dist/index.js.map +1 -0
  21. package/dist/internal/drizzle-utils.d.ts +21 -0
  22. package/dist/internal/drizzle-utils.d.ts.map +1 -0
  23. package/dist/internal/drizzle-utils.js +96 -0
  24. package/dist/internal/drizzle-utils.js.map +1 -0
  25. package/dist/sqlite-core/effect/count.d.ts +21 -0
  26. package/dist/sqlite-core/effect/count.d.ts.map +1 -0
  27. package/dist/sqlite-core/effect/count.js +31 -0
  28. package/dist/sqlite-core/effect/count.js.map +1 -0
  29. package/dist/sqlite-core/effect/db.d.ts +83 -0
  30. package/dist/sqlite-core/effect/db.d.ts.map +1 -0
  31. package/dist/sqlite-core/effect/db.js +168 -0
  32. package/dist/sqlite-core/effect/db.js.map +1 -0
  33. package/dist/sqlite-core/effect/delete.d.ts +70 -0
  34. package/dist/sqlite-core/effect/delete.d.ts.map +1 -0
  35. package/dist/sqlite-core/effect/delete.js +77 -0
  36. package/dist/sqlite-core/effect/delete.js.map +1 -0
  37. package/dist/sqlite-core/effect/index.d.ts +10 -0
  38. package/dist/sqlite-core/effect/index.d.ts.map +1 -0
  39. package/dist/sqlite-core/effect/index.js +11 -0
  40. package/dist/sqlite-core/effect/index.js.map +1 -0
  41. package/dist/sqlite-core/effect/insert.d.ts +96 -0
  42. package/dist/sqlite-core/effect/insert.d.ts.map +1 -0
  43. package/dist/sqlite-core/effect/insert.js +124 -0
  44. package/dist/sqlite-core/effect/insert.js.map +1 -0
  45. package/dist/sqlite-core/effect/query.d.ts +64 -0
  46. package/dist/sqlite-core/effect/query.d.ts.map +1 -0
  47. package/dist/sqlite-core/effect/query.js +105 -0
  48. package/dist/sqlite-core/effect/query.js.map +1 -0
  49. package/dist/sqlite-core/effect/raw.d.ts +33 -0
  50. package/dist/sqlite-core/effect/raw.d.ts.map +1 -0
  51. package/dist/sqlite-core/effect/raw.js +30 -0
  52. package/dist/sqlite-core/effect/raw.js.map +1 -0
  53. package/dist/sqlite-core/effect/select.d.ts +65 -0
  54. package/dist/sqlite-core/effect/select.d.ts.map +1 -0
  55. package/dist/sqlite-core/effect/select.js +106 -0
  56. package/dist/sqlite-core/effect/select.js.map +1 -0
  57. package/dist/sqlite-core/effect/session.d.ts +89 -0
  58. package/dist/sqlite-core/effect/session.d.ts.map +1 -0
  59. package/dist/sqlite-core/effect/session.js +280 -0
  60. package/dist/sqlite-core/effect/session.js.map +1 -0
  61. package/dist/sqlite-core/effect/update.d.ts +91 -0
  62. package/dist/sqlite-core/effect/update.d.ts.map +1 -0
  63. package/dist/sqlite-core/effect/update.js +125 -0
  64. package/dist/sqlite-core/effect/update.js.map +1 -0
  65. package/dist/up-migrations/effect-sqlite.d.ts +9 -0
  66. package/dist/up-migrations/effect-sqlite.d.ts.map +1 -0
  67. package/dist/up-migrations/effect-sqlite.js +50 -0
  68. package/dist/up-migrations/effect-sqlite.js.map +1 -0
  69. package/dist/up-migrations/sqlite.d.ts +54 -0
  70. package/dist/up-migrations/sqlite.d.ts.map +1 -0
  71. package/dist/up-migrations/sqlite.js +152 -0
  72. package/dist/up-migrations/sqlite.js.map +1 -0
  73. package/dist/up-migrations/utils.d.ts +22 -0
  74. package/dist/up-migrations/utils.d.ts.map +1 -0
  75. package/dist/up-migrations/utils.js +47 -0
  76. package/dist/up-migrations/utils.js.map +1 -0
  77. package/package.json +37 -0
@@ -0,0 +1,125 @@
1
+ import { applyEffectWrapper } from "drizzle-orm/effect-core/query-effect";
2
+ import { entityKind, is } from "drizzle-orm/entity";
3
+ import { SelectionProxyHandler } from "drizzle-orm/selection-proxy";
4
+ import { SQLiteTable } from "drizzle-orm/sqlite-core/table";
5
+ import { extractUsedTable } from "drizzle-orm/sqlite-core/utils";
6
+ import { SQLiteViewBase } from "drizzle-orm/sqlite-core/view-base";
7
+ import { Subquery } from "drizzle-orm/subquery";
8
+ import { getTableColumnsRuntime, getTableLikeName, getViewSelectedFieldsRuntime, mapUpdateSet, orderSelectedFields, } from "../../internal/drizzle-utils";
9
+ export class SQLiteEffectUpdateBuilder {
10
+ table;
11
+ session;
12
+ dialect;
13
+ withList;
14
+ static [entityKind] = "SQLiteEffectUpdateBuilder";
15
+ constructor(table, session, dialect, withList) {
16
+ this.table = table;
17
+ this.session = session;
18
+ this.dialect = dialect;
19
+ this.withList = withList;
20
+ }
21
+ set(values) {
22
+ return new SQLiteEffectUpdateBase(this.table, mapUpdateSet(this.table, values), this.session, this.dialect, this.withList);
23
+ }
24
+ }
25
+ export class SQLiteEffectUpdateBase {
26
+ effectSession;
27
+ effectDialect;
28
+ static [entityKind] = "SQLiteEffectUpdate";
29
+ /** @internal */
30
+ config;
31
+ constructor(table, set, effectSession, effectDialect, withList) {
32
+ this.effectSession = effectSession;
33
+ this.effectDialect = effectDialect;
34
+ this.config = { set, table, withList, joins: [] };
35
+ }
36
+ from(source) {
37
+ this.config.from = source;
38
+ return this;
39
+ }
40
+ createJoin(joinType) {
41
+ return ((table, on) => {
42
+ const tableName = getTableLikeName(table);
43
+ if (typeof tableName === "string" && this.config.joins.some((join) => join.alias === tableName)) {
44
+ throw new Error(`Alias "${tableName}" is already used in this query`);
45
+ }
46
+ if (typeof on === "function") {
47
+ const from = this.config.from
48
+ ? is(table, SQLiteTable)
49
+ ? getTableColumnsRuntime(table)
50
+ : is(table, Subquery)
51
+ ? table._.selectedFields
52
+ : is(table, SQLiteViewBase)
53
+ ? getViewSelectedFieldsRuntime(table).selectedFields
54
+ : undefined
55
+ : undefined;
56
+ on = on(new Proxy(this.config.table._.columns, new SelectionProxyHandler({ sqlAliasedBehavior: "sql", sqlBehavior: "sql" })), from &&
57
+ new Proxy(from, new SelectionProxyHandler({ sqlAliasedBehavior: "sql", sqlBehavior: "sql" })));
58
+ }
59
+ this.config.joins.push({ on, table, joinType, alias: tableName });
60
+ return this;
61
+ });
62
+ }
63
+ leftJoin = this.createJoin("left");
64
+ rightJoin = this.createJoin("right");
65
+ innerJoin = this.createJoin("inner");
66
+ fullJoin = this.createJoin("full");
67
+ where(where) {
68
+ this.config.where = where;
69
+ return this;
70
+ }
71
+ orderBy(...columns) {
72
+ if (typeof columns[0] === "function") {
73
+ const orderBy = columns[0](new Proxy(getTableColumnsRuntime(this.config.table), new SelectionProxyHandler({ sqlAliasedBehavior: "alias", sqlBehavior: "sql" })));
74
+ this.config.orderBy = Array.isArray(orderBy) ? orderBy : [orderBy];
75
+ return this;
76
+ }
77
+ this.config.orderBy = columns;
78
+ return this;
79
+ }
80
+ limit(limit) {
81
+ this.config.limit = limit;
82
+ return this;
83
+ }
84
+ returning(fields = getTableColumnsRuntime(this.config.table)) {
85
+ this.config.returning = orderSelectedFields(fields);
86
+ return this;
87
+ }
88
+ /** @internal */
89
+ getSQL() {
90
+ return this.effectDialect.buildUpdateQuery(this.config);
91
+ }
92
+ toSQL() {
93
+ return this.effectDialect.sqlToQuery(this.getSQL());
94
+ }
95
+ /** @internal */
96
+ _prepare(isOneTimeQuery = true) {
97
+ return this.effectSession[isOneTimeQuery ? "prepareOneTimeQuery" : "prepareQuery"](this.effectDialect.sqlToQuery(this.getSQL()), this.config.returning, this.config.returning ? "all" : "run", undefined, {
98
+ type: "update",
99
+ tables: extractUsedTable(this.config.table),
100
+ });
101
+ }
102
+ prepare() {
103
+ return this._prepare(false);
104
+ }
105
+ run = (placeholderValues) => {
106
+ return this._prepare().run(placeholderValues);
107
+ };
108
+ all = (placeholderValues) => {
109
+ return this._prepare().all(placeholderValues);
110
+ };
111
+ get = (placeholderValues) => {
112
+ return this._prepare().get(placeholderValues);
113
+ };
114
+ values = (placeholderValues) => {
115
+ return this._prepare().values(placeholderValues);
116
+ };
117
+ execute = (placeholderValues) => {
118
+ return this._prepare().execute(placeholderValues);
119
+ };
120
+ $dynamic() {
121
+ return this;
122
+ }
123
+ }
124
+ applyEffectWrapper(SQLiteEffectUpdateBase);
125
+ //# sourceMappingURL=update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/sqlite-core/effect/update.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import * as Effect from "effect/Effect";
2
+ import type { SqlError } from "effect/unstable/sql/SqlError";
3
+ import { EffectDrizzleError } from "drizzle-orm/effect-core/errors";
4
+ import type { QueryEffectHKTBase } from "drizzle-orm/effect-core/query-effect";
5
+ import type { MigrationMeta } from "drizzle-orm/migrator";
6
+ import type { SQLiteEffectSession } from "../sqlite-core/effect/session";
7
+ import { type UpgradeResult } from "./utils";
8
+ export declare const upgradeIfNeeded: <TEffectHKT extends QueryEffectHKTBase>(migrationsTable: string, session: SQLiteEffectSession<TEffectHKT>, localMigrations: MigrationMeta[]) => Effect.Effect<UpgradeResult, EffectDrizzleError | TEffectHKT["error"] | SqlError, TEffectHKT["context"]>;
9
+ //# sourceMappingURL=effect-sqlite.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effect-sqlite.d.ts","sourceRoot":"","sources":["../../src/up-migrations/effect-sqlite.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACnE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAA;AAC9E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAEzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAA;AAMxE,OAAO,EAA8C,KAAK,aAAa,EAAE,MAAM,SAAS,CAAA;AAWxF,eAAO,MAAM,eAAe,EAAE,CAAC,UAAU,SAAS,kBAAkB,EAClE,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,mBAAmB,CAAC,UAAU,CAAC,EACxC,eAAe,EAAE,aAAa,EAAE,KAC7B,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,kBAAkB,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,QAAQ,EAAE,UAAU,CAAC,SAAS,CAAC,CAgCxG,CAAA"}
@@ -0,0 +1,50 @@
1
+ /* oxlint-disable */
2
+ import * as Effect from "effect/Effect";
3
+ import { EffectDrizzleError } from "drizzle-orm/effect-core/errors";
4
+ import { sql } from "drizzle-orm/sql/sql";
5
+ import { buildSQLiteMigrationBackfillStatements, prepareSQLiteMigrationBackfill, } from "./sqlite";
6
+ import { GET_VERSION_FOR, MIGRATIONS_TABLE_VERSIONS } from "./utils";
7
+ const migrationUpgradeError = (cause) => new EffectDrizzleError({
8
+ message: typeof cause === "object" && cause !== null && "message" in cause && typeof cause.message === "string"
9
+ ? cause.message
10
+ : String(cause),
11
+ cause,
12
+ });
13
+ export const upgradeIfNeeded = Effect.fn("upgradeIfNeeded")(function* (migrationsTable, session, localMigrations) {
14
+ const tableExists = yield* session.all(sql `SELECT 1 FROM sqlite_master WHERE type = 'table' AND name = ${migrationsTable}`);
15
+ if (tableExists.length === 0) {
16
+ return { newDb: true };
17
+ }
18
+ const rows = yield* session.all(sql `SELECT name as column_name FROM pragma_table_info(${migrationsTable})`);
19
+ const version = GET_VERSION_FOR.sqlite(rows.map((r) => r.column_name));
20
+ for (let v = version; v < MIGRATIONS_TABLE_VERSIONS.sqlite; v++) {
21
+ const upgradeFn = upgradeFunctions[v];
22
+ if (!upgradeFn) {
23
+ return yield* new EffectDrizzleError({
24
+ message: `No upgrade path from migration table version ${v} to ${v + 1}`,
25
+ cause: { version: v },
26
+ });
27
+ }
28
+ yield* upgradeFn(migrationsTable, session, localMigrations);
29
+ }
30
+ return { newDb: false };
31
+ });
32
+ const upgradeFunctions = {
33
+ 0: upgradeFromV0,
34
+ };
35
+ function upgradeFromV0(migrationsTable, session, localMigrations) {
36
+ return Effect.gen(function* () {
37
+ const table = sql `${sql.identifier(migrationsTable)}`;
38
+ const dbRows = yield* session.all(sql `SELECT id, hash, created_at FROM ${table} ORDER BY id ASC`);
39
+ const statements = yield* Effect.try({
40
+ try: () => buildSQLiteMigrationBackfillStatements(migrationsTable, prepareSQLiteMigrationBackfill(dbRows, localMigrations)),
41
+ catch: migrationUpgradeError,
42
+ });
43
+ yield* session.transaction((tx) => Effect.gen(function* () {
44
+ for (const statement of statements) {
45
+ yield* tx.run(statement);
46
+ }
47
+ }));
48
+ });
49
+ }
50
+ //# sourceMappingURL=effect-sqlite.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effect-sqlite.js","sourceRoot":"","sources":["../../src/up-migrations/effect-sqlite.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ import type { TablesRelationalConfig } from "drizzle-orm/_relations";
2
+ import type { MigrationMeta } from "drizzle-orm/migrator";
3
+ import type { AnyRelations } from "drizzle-orm/relations";
4
+ import { type SQL } from "drizzle-orm/sql/sql";
5
+ import type { BaseSQLiteDatabase } from "drizzle-orm/sqlite-core";
6
+ import type { SQLiteSession } from "drizzle-orm/sqlite-core/session";
7
+ import { type UpgradeResult } from "./utils";
8
+ /** @internal */
9
+ export type SQLiteMigrationTableRow = {
10
+ id: number | null;
11
+ hash: string;
12
+ created_at: number;
13
+ };
14
+ type AsyncSQLiteDatabaseWithSession = BaseSQLiteDatabase<"async", unknown, Record<string, unknown>> & {
15
+ session: {
16
+ all<T>(query: SQL): Promise<T[]>;
17
+ };
18
+ transaction<T>(transaction: (tx: {
19
+ run(query: SQL): Promise<unknown>;
20
+ }) => Promise<T>): Promise<T>;
21
+ };
22
+ type SQLiteMigrationBackfillEntry = {
23
+ name: string;
24
+ selector: {
25
+ column: "id";
26
+ value: number;
27
+ } | {
28
+ column: "created_at";
29
+ value: number;
30
+ } | {
31
+ column: "hash";
32
+ value: string;
33
+ };
34
+ };
35
+ /** @internal */
36
+ export declare function prepareSQLiteMigrationBackfill(dbRows: SQLiteMigrationTableRow[], localMigrations: MigrationMeta[]): SQLiteMigrationBackfillEntry[];
37
+ /** @internal */
38
+ export declare function buildSQLiteMigrationBackfillStatements(migrationsTable: string, backfillEntries: SQLiteMigrationBackfillEntry[]): SQL<unknown>[];
39
+ /**
40
+ * Detects the current version of the migrations table schema and upgrades it if needed.
41
+ *
42
+ * Version 0: Original schema (id, hash, created_at)
43
+ * Version 1: Extended schema (id, hash, created_at, name, applied_at)
44
+ */
45
+ export declare function upgradeSyncIfNeeded(migrationsTable: string, session: SQLiteSession<"sync", unknown, Record<string, unknown>, AnyRelations, TablesRelationalConfig>, localMigrations: MigrationMeta[]): UpgradeResult;
46
+ /**
47
+ * Detects the current version of the migrations table schema and upgrades it if needed.
48
+ *
49
+ * Version 0: Original schema (id, hash, created_at)
50
+ * Version 1: Extended schema (id, hash, created_at, name, applied_at)
51
+ */
52
+ export declare function upgradeAsyncIfNeeded(migrationsTable: string, db: AsyncSQLiteDatabaseWithSession, localMigrations: MigrationMeta[]): Promise<UpgradeResult>;
53
+ export {};
54
+ //# sourceMappingURL=sqlite.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../src/up-migrations/sqlite.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,KAAK,GAAG,EAAO,MAAM,qBAAqB,CAAA;AACnD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;AACpE,OAAO,EAA8C,KAAK,aAAa,EAAE,MAAM,SAAS,CAAA;AAExF,gBAAgB;AAChB,MAAM,MAAM,uBAAuB,GAAG;IAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAA;AAE7F,KAAK,8BAA8B,GAAG,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG;IACpG,OAAO,EAAE;QACP,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAA;KACjC,CAAA;IACD,WAAW,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE;QAAE,GAAG,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;KAAE,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;CACnG,CAAA;AAED,KAAK,4BAA4B,GAAG;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EACJ;QAAE,MAAM,EAAE,IAAI,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAC/B;QAAE,MAAM,EAAE,YAAY,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GACvC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;CACtC,CAAA;AAYD,gBAAgB;AAChB,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,uBAAuB,EAAE,EACjC,eAAe,EAAE,aAAa,EAAE,GAC/B,4BAA4B,EAAE,CAmDhC;AAED,gBAAgB;AAChB,wBAAgB,sCAAsC,CACpD,eAAe,EAAE,MAAM,EACvB,eAAe,EAAE,4BAA4B,EAAE,kBAmBhD;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,EAAE,sBAAsB,CAAC,EACtG,eAAe,EAAE,aAAa,EAAE,GAC/B,aAAa,CAuBf;AAmCD;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACxC,eAAe,EAAE,MAAM,EACvB,EAAE,EAAE,8BAA8B,EAClC,eAAe,EAAE,aAAa,EAAE,GAC/B,OAAO,CAAC,aAAa,CAAC,CAyBxB"}
@@ -0,0 +1,152 @@
1
+ import { sql } from "drizzle-orm/sql/sql";
2
+ import { GET_VERSION_FOR, MIGRATIONS_TABLE_VERSIONS } from "./utils";
3
+ function unmatchedMigrationError(unmatched) {
4
+ return new Error(`While upgrading your database migrations table we found ${unmatched.length} (${unmatched
5
+ .map((it) => `[id: ${it.id}, created_at: ${it.created_at}]`)
6
+ .join(", ")}) migrations in the database that do not match any local migration. This means that some migrations were applied to the database but are missing from the local environment`);
7
+ }
8
+ /** @internal */
9
+ export function prepareSQLiteMigrationBackfill(dbRows, localMigrations) {
10
+ const sortedLocalMigrations = [...localMigrations].sort((a, b) => a.folderMillis !== b.folderMillis ? a.folderMillis - b.folderMillis : (a.name ?? "").localeCompare(b.name ?? ""));
11
+ const byMillis = new Map();
12
+ const byHash = new Map();
13
+ for (const migration of sortedLocalMigrations) {
14
+ if (!byMillis.has(migration.folderMillis)) {
15
+ byMillis.set(migration.folderMillis, []);
16
+ }
17
+ byMillis.get(migration.folderMillis).push(migration);
18
+ byHash.set(migration.hash, migration);
19
+ }
20
+ const toApply = [];
21
+ const unmatched = [];
22
+ for (const dbRow of dbRows) {
23
+ const stringified = String(dbRow.created_at);
24
+ const millis = Number(stringified.substring(0, stringified.length - 3) + "000");
25
+ const candidates = byMillis.get(millis);
26
+ const matchedByMillis = candidates?.length === 1 ? candidates[0] : undefined;
27
+ const matchedByCandidateHash = candidates && candidates.length > 1
28
+ ? candidates.find((candidate) => candidate.hash && dbRow.hash && candidate.hash === dbRow.hash)
29
+ : undefined;
30
+ const matchedByHash = matchedByMillis || matchedByCandidateHash ? undefined : byHash.get(dbRow.hash);
31
+ const matched = matchedByMillis ?? matchedByCandidateHash ?? matchedByHash;
32
+ if (matched) {
33
+ toApply.push({
34
+ name: matched.name,
35
+ selector: dbRow.id !== null
36
+ ? { column: "id", value: dbRow.id }
37
+ : matchedByMillis
38
+ ? { column: "created_at", value: dbRow.created_at }
39
+ : { column: "hash", value: dbRow.hash },
40
+ });
41
+ continue;
42
+ }
43
+ unmatched.push(dbRow);
44
+ }
45
+ if (unmatched.length > 0) {
46
+ throw unmatchedMigrationError(unmatched);
47
+ }
48
+ return toApply;
49
+ }
50
+ /** @internal */
51
+ export function buildSQLiteMigrationBackfillStatements(migrationsTable, backfillEntries) {
52
+ const table = sql `${sql.identifier(migrationsTable)}`;
53
+ const statements = [
54
+ sql `ALTER TABLE ${table} ADD COLUMN ${sql.identifier("name")} text`,
55
+ sql `ALTER TABLE ${table} ADD COLUMN ${sql.identifier("applied_at")} TEXT`,
56
+ ];
57
+ for (const backfillEntry of backfillEntries) {
58
+ const updateQuery = sql `UPDATE ${table} SET ${sql.identifier("name")} = ${backfillEntry.name}, ${sql.identifier("applied_at")} = NULL WHERE`;
59
+ updateQuery.append(sql ` ${sql.identifier(backfillEntry.selector.column)} = ${backfillEntry.selector.value}`);
60
+ statements.push(updateQuery);
61
+ }
62
+ return statements;
63
+ }
64
+ /**
65
+ * Detects the current version of the migrations table schema and upgrades it if needed.
66
+ *
67
+ * Version 0: Original schema (id, hash, created_at)
68
+ * Version 1: Extended schema (id, hash, created_at, name, applied_at)
69
+ */
70
+ export function upgradeSyncIfNeeded(migrationsTable, session, localMigrations) {
71
+ const tableExists = session.all(sql `SELECT 1 FROM sqlite_master WHERE type = 'table' AND name = ${migrationsTable}`);
72
+ if (tableExists.length === 0) {
73
+ return { newDb: true };
74
+ }
75
+ // Table exists, check table shape
76
+ const rows = session.all(sql `SELECT name as column_name FROM pragma_table_info(${migrationsTable})`);
77
+ const version = GET_VERSION_FOR.sqlite(rows.map((r) => r.column_name));
78
+ for (let v = version; v < MIGRATIONS_TABLE_VERSIONS.sqlite; v++) {
79
+ const upgradeFn = upgradeSyncFunctions[v];
80
+ if (!upgradeFn) {
81
+ throw new Error(`No upgrade path from migration table version ${v} to ${v + 1}`);
82
+ }
83
+ upgradeFn(migrationsTable, session, localMigrations);
84
+ }
85
+ return { newDb: false };
86
+ }
87
+ const upgradeSyncFunctions = {
88
+ /**
89
+ * Upgrade from version 0 to version 1:
90
+ * 1. Read all existing DB migrations
91
+ * 2. Sort localMigrations ASC by millis and if the same - sort by name
92
+ * 3. Match each DB row to a local migration
93
+ * If multiple migrations share the same second, use hash matching as a tiebreaker
94
+ * Not implemented for now -> If hash matching fails, fall back to serial id ordering
95
+ * 5. Create extra column and backfill names for matched migrations
96
+ */
97
+ 0: (migrationsTable, session, localMigrations) => {
98
+ const table = sql `${sql.identifier(migrationsTable)}`;
99
+ const dbRows = session.all(sql `SELECT id, hash, created_at FROM ${table} ORDER BY id ASC`);
100
+ const statements = buildSQLiteMigrationBackfillStatements(migrationsTable, prepareSQLiteMigrationBackfill(dbRows, localMigrations));
101
+ session.transaction((tx) => {
102
+ for (const statement of statements) {
103
+ tx.run(statement);
104
+ }
105
+ });
106
+ },
107
+ };
108
+ /**
109
+ * Detects the current version of the migrations table schema and upgrades it if needed.
110
+ *
111
+ * Version 0: Original schema (id, hash, created_at)
112
+ * Version 1: Extended schema (id, hash, created_at, name, applied_at)
113
+ */
114
+ export async function upgradeAsyncIfNeeded(migrationsTable, db, localMigrations) {
115
+ // Check if the table exists at all
116
+ const tableExists = await db.session.all(sql `SELECT 1 FROM sqlite_master WHERE type = 'table' AND name = ${migrationsTable}`);
117
+ if (tableExists.length === 0) {
118
+ return { newDb: true };
119
+ }
120
+ const rows = await db.session.all(sql `SELECT name as column_name FROM pragma_table_info(${migrationsTable})`);
121
+ const version = GET_VERSION_FOR.sqlite(rows.map((r) => r.column_name));
122
+ for (let v = version; v < MIGRATIONS_TABLE_VERSIONS.sqlite; v++) {
123
+ const upgradeFn = upgradeAsyncFunctions[v];
124
+ if (!upgradeFn) {
125
+ throw new Error(`No upgrade path from migration table version ${v} to ${v + 1}`);
126
+ }
127
+ await upgradeFn(migrationsTable, db, localMigrations);
128
+ }
129
+ return { newDb: false };
130
+ }
131
+ const upgradeAsyncFunctions = {
132
+ /**
133
+ * Upgrade from version 0 to version 1:
134
+ * 1. Read all existing DB migrations
135
+ * 2. Sort localMigrations ASC by millis and if the same - sort by name
136
+ * 3. Match each DB row to a local migration
137
+ * If multiple migrations share the same second, use hash matching as a tiebreaker
138
+ * Not implemented for now -> If hash matching fails, fall back to serial id ordering
139
+ * 5. Create extra column and backfill names for matched migrations
140
+ */
141
+ 0: async (migrationsTable, db, localMigrations) => {
142
+ const table = sql `${sql.identifier(migrationsTable)}`;
143
+ const dbRows = await db.session.all(sql `SELECT id, hash, created_at FROM ${table} ORDER BY id ASC`);
144
+ const statements = buildSQLiteMigrationBackfillStatements(migrationsTable, prepareSQLiteMigrationBackfill(dbRows, localMigrations));
145
+ await db.transaction(async (tx) => {
146
+ for (const statement of statements) {
147
+ await tx.run(statement);
148
+ }
149
+ });
150
+ },
151
+ };
152
+ //# sourceMappingURL=sqlite.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../src/up-migrations/sqlite.ts"],"names":[],"mappings":"AAIA,OAAO,EAAY,GAAG,EAAE,MAAM,qBAAqB,CAAA;AAGnD,OAAO,EAAE,eAAe,EAAE,yBAAyB,EAAsB,MAAM,SAAS,CAAA;AAoBxF,SAAS,uBAAuB,CAAC,SAAoC;IACnE,OAAO,IAAI,KAAK,CACd,2DAA2D,SAAS,CAAC,MAAM,KAAK,SAAS;SACtF,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,UAAU,GAAG,CAAC;SAC3D,IAAI,CACH,IAAI,CACL,6KAA6K,CACjL,CAAA;AACH,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,8BAA8B,CAC5C,MAAiC,EACjC,eAAgC;IAEhC,MAAM,qBAAqB,GAAG,CAAC,GAAG,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAC/D,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CACjH,CAAA;IACD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA2B,CAAA;IACnD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAyB,CAAA;IAC/C,KAAK,MAAM,SAAS,IAAI,qBAAqB,EAAE,CAAC;QAC9C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC;YAC1C,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,YAAY,EAAE,EAAE,CAAC,CAAA;QAC1C,CAAC;QACD,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,YAAY,CAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACrD,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;IACvC,CAAC;IAED,MAAM,OAAO,GAAmC,EAAE,CAAA;IAClD,MAAM,SAAS,GAA8B,EAAE,CAAA;IAE/C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;QAC5C,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAA;QAC/E,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAEvC,MAAM,eAAe,GAAG,UAAU,EAAE,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QAC5E,MAAM,sBAAsB,GAC1B,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;YACjC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,SAAS,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC;YAC/F,CAAC,CAAC,SAAS,CAAA;QACf,MAAM,aAAa,GAAG,eAAe,IAAI,sBAAsB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACpG,MAAM,OAAO,GAAG,eAAe,IAAI,sBAAsB,IAAI,aAAa,CAAA;QAE1E,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,QAAQ,EACN,KAAK,CAAC,EAAE,KAAK,IAAI;oBACf,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE;oBACnC,CAAC,CAAC,eAAe;wBACf,CAAC,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE;wBACnD,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE;aAC9C,CAAC,CAAA;YACF,SAAQ;QACV,CAAC;QAED,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACvB,CAAC;IAED,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,uBAAuB,CAAC,SAAS,CAAC,CAAA;IAC1C,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,sCAAsC,CACpD,eAAuB,EACvB,eAA+C;IAE/C,MAAM,KAAK,GAAG,GAAG,CAAA,GAAG,GAAG,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAA;IACrD,MAAM,UAAU,GAAU;QACxB,GAAG,CAAA,eAAe,KAAK,eAAe,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO;QACnE,GAAG,CAAA,eAAe,KAAK,eAAe,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,OAAO;KAC1E,CAAA;IAED,KAAK,MAAM,aAAa,IAAI,eAAe,EAAE,CAAC;QAC5C,MAAM,WAAW,GAAG,GAAG,CAAA,UAAU,KAAK,QAAQ,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,aAAa,CAAC,IAAI,KAAK,GAAG,CAAC,UAAU,CAC7G,YAAY,CACb,eAAe,CAAA;QAEhB,WAAW,CAAC,MAAM,CAAC,GAAG,CAAA,IAAI,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,aAAa,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;QAE5G,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IAC9B,CAAC;IAED,OAAO,UAAU,CAAA;AACnB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CACjC,eAAuB,EACvB,OAAsG,EACtG,eAAgC;IAEhC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAA,+DAA+D,eAAe,EAAE,CAAC,CAAA;IAEpH,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;IACxB,CAAC;IAED,kCAAkC;IAClC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CACtB,GAAG,CAAA,qDAAqD,eAAe,GAAG,CAC3E,CAAA;IAED,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAA;IAEtE,KAAK,IAAI,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,yBAAyB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChE,MAAM,SAAS,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAA;QACzC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAClF,CAAC;QACD,SAAS,CAAC,eAAe,EAAE,OAAO,EAAE,eAAe,CAAC,CAAA;IACtD,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;AACzB,CAAC;AAED,MAAM,oBAAoB,GAOtB;IACF;;;;;;;;OAQG;IACH,CAAC,EAAE,CAAC,eAAe,EAAE,OAAO,EAAE,eAAe,EAAE,EAAE;QAC/C,MAAM,KAAK,GAAG,GAAG,CAAA,GAAG,GAAG,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAA;QACrD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAA0B,GAAG,CAAA,oCAAoC,KAAK,kBAAkB,CAAC,CAAA;QACnH,MAAM,UAAU,GAAG,sCAAsC,CACvD,eAAe,EACf,8BAA8B,CAAC,MAAM,EAAE,eAAe,CAAC,CACxD,CAAA;QAED,OAAO,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE;YACzB,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;gBACnC,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;YACnB,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;CACF,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,eAAuB,EACvB,EAAkC,EAClC,eAAgC;IAEhC,mCAAmC;IACnC,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CACtC,GAAG,CAAA,+DAA+D,eAAe,EAAE,CACpF,CAAA;IAED,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;IACxB,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAC/B,GAAG,CAAA,qDAAqD,eAAe,GAAG,CAC3E,CAAA;IAED,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAA;IAEtE,KAAK,IAAI,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,yBAAyB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChE,MAAM,SAAS,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAA;QAC1C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAClF,CAAC;QACD,MAAM,SAAS,CAAC,eAAe,EAAE,EAAE,EAAE,eAAe,CAAC,CAAA;IACvD,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;AACzB,CAAC;AAED,MAAM,qBAAqB,GAGvB;IACF;;;;;;;;OAQG;IACH,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,EAAE,EAAE,eAAe,EAAE,EAAE;QAChD,MAAM,KAAK,GAAG,GAAG,CAAA,GAAG,GAAG,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAA;QACrD,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CACjC,GAAG,CAAA,oCAAoC,KAAK,kBAAkB,CAC/D,CAAA;QACD,MAAM,UAAU,GAAG,sCAAsC,CACvD,eAAe,EACf,8BAA8B,CAAC,MAAM,EAAE,eAAe,CAAC,CACxD,CAAA;QAED,MAAM,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;YAChC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;gBACnC,MAAM,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;YACzB,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;CACF,CAAA"}
@@ -0,0 +1,22 @@
1
+ export interface UpgradeResult {
2
+ newDb: boolean;
3
+ }
4
+ export declare const MIGRATIONS_TABLE_VERSIONS: {
5
+ readonly sqlite: 1;
6
+ readonly pg: 1;
7
+ readonly effect: 1;
8
+ readonly mysql: 1;
9
+ readonly mssql: 1;
10
+ readonly cockroach: 1;
11
+ readonly singlestore: 1;
12
+ };
13
+ export declare const GET_VERSION_FOR: {
14
+ readonly mysql: (columns: string[]) => number;
15
+ readonly pg: (columns: string[]) => number;
16
+ readonly effect: (columns: string[]) => number;
17
+ readonly mssql: (columns: string[]) => number;
18
+ readonly cockroach: (columns: string[]) => number;
19
+ readonly singlestore: (columns: string[]) => number;
20
+ readonly sqlite: (columns: string[]) => number;
21
+ };
22
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/up-migrations/utils.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,OAAO,CAAA;CACf;AAED,eAAO,MAAM,yBAAyB;;;;;;;;CAQ5B,CAAA;AAEV,eAAO,MAAM,eAAe;8BACT,MAAM,EAAE,KAAG,MAAM;2BAIpB,MAAM,EAAE,KAAG,MAAM;+BAIb,MAAM,EAAE,KAAG,MAAM;8BAIlB,MAAM,EAAE,KAAG,MAAM;kCAIb,MAAM,EAAE,KAAG,MAAM;oCAIf,MAAM,EAAE,KAAG,MAAM;+BAItB,MAAM,EAAE,KAAG,MAAM;CAI3B,CAAA"}
@@ -0,0 +1,47 @@
1
+ export const MIGRATIONS_TABLE_VERSIONS = {
2
+ sqlite: 1,
3
+ pg: 1,
4
+ effect: 1,
5
+ mysql: 1,
6
+ mssql: 1,
7
+ cockroach: 1,
8
+ singlestore: 1,
9
+ };
10
+ export const GET_VERSION_FOR = {
11
+ mysql: (columns) => {
12
+ if (columns.includes("name"))
13
+ return 1;
14
+ return 0;
15
+ },
16
+ pg: (columns) => {
17
+ if (columns.includes("name"))
18
+ return 1;
19
+ return 0;
20
+ },
21
+ effect: (columns) => {
22
+ if (columns.includes("name"))
23
+ return 1;
24
+ return 0;
25
+ },
26
+ mssql: (columns) => {
27
+ if (columns.includes("name"))
28
+ return 1;
29
+ return 0;
30
+ },
31
+ cockroach: (columns) => {
32
+ if (columns.includes("name"))
33
+ return 1;
34
+ return 0;
35
+ },
36
+ singlestore: (columns) => {
37
+ if (columns.includes("name"))
38
+ return 1;
39
+ return 0;
40
+ },
41
+ sqlite: (columns) => {
42
+ if (columns.includes("name"))
43
+ return 1;
44
+ return 0;
45
+ },
46
+ };
47
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/up-migrations/utils.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,MAAM,EAAE,CAAC;IACT,EAAE,EAAE,CAAC;IACL,MAAM,EAAE,CAAC;IACT,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,CAAC;IACR,SAAS,EAAE,CAAC;IACZ,WAAW,EAAE,CAAC;CACN,CAAA;AAEV,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,KAAK,EAAE,CAAC,OAAiB,EAAU,EAAE;QACnC,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,CAAC,CAAA;QACtC,OAAO,CAAC,CAAA;IACV,CAAC;IACD,EAAE,EAAE,CAAC,OAAiB,EAAU,EAAE;QAChC,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,CAAC,CAAA;QACtC,OAAO,CAAC,CAAA;IACV,CAAC;IACD,MAAM,EAAE,CAAC,OAAiB,EAAU,EAAE;QACpC,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,CAAC,CAAA;QACtC,OAAO,CAAC,CAAA;IACV,CAAC;IACD,KAAK,EAAE,CAAC,OAAiB,EAAU,EAAE;QACnC,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,CAAC,CAAA;QACtC,OAAO,CAAC,CAAA;IACV,CAAC;IACD,SAAS,EAAE,CAAC,OAAiB,EAAU,EAAE;QACvC,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,CAAC,CAAA;QACtC,OAAO,CAAC,CAAA;IACV,CAAC;IACD,WAAW,EAAE,CAAC,OAAiB,EAAU,EAAE;QACzC,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,CAAC,CAAA;QACtC,OAAO,CAAC,CAAA;IACV,CAAC;IACD,MAAM,EAAE,CAAC,OAAiB,EAAU,EAAE;QACpC,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,CAAC,CAAA;QACtC,OAAO,CAAC,CAAA;IACV,CAAC;CACO,CAAA"}
package/package.json ADDED
@@ -0,0 +1,37 @@
1
+ {
2
+ "$schema": "https://json.schemastore.org/package.json",
3
+ "version": "19.0.5",
4
+ "name": "@zyraxon-ai/effect-drizzle-sqlite",
5
+ "type": "module",
6
+ "license": "SEE LICENSE IN LICENSE",
7
+ "homepage": "https://zyraxonai.lovable.app",
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "https://github.com/onelpawarai-X/ZYRAXON-AI.git",
11
+ "directory": "packages/effect-drizzle-sqlite"
12
+ },
13
+ "author": "OMG / Lx Sayidi <sayidilx@gmail.com>",
14
+ "main": "./dist/index.js",
15
+ "types": "./dist/index.d.ts",
16
+ "exports": {
17
+ ".": {
18
+ "types": "./dist/index.d.ts",
19
+ "default": "./dist/index.js"
20
+ }
21
+ },
22
+ "files": ["dist"],
23
+ "scripts": {
24
+ "build": "tsc --project tsconfig.build.json",
25
+ "prepublishOnly": "npm run build"
26
+ },
27
+ "dependencies": {
28
+ "drizzle-orm": "1.0.0-rc.2",
29
+ "effect": "4.0.0-beta.83"
30
+ },
31
+ "devDependencies": {
32
+ "@tsconfig/bun": "1.0.9",
33
+ "@types/bun": "1.3.13",
34
+ "@typescript/native-preview": "7.0.0-dev.20251207.1",
35
+ "typescript": "5.8.2"
36
+ }
37
+ }