@anthonyalayo/drizzle-kit 1.0.2 → 1.0.4
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/api.d.mts +2891 -0
- package/api.d.ts +2891 -0
- package/api.js +47534 -0
- package/api.mjs +47521 -0
- package/bin.cjs +80043 -0
- package/{src/index.ts → index-Z-1TKnbX.d.mts} +123 -141
- package/index-Z-1TKnbX.d.ts +308 -0
- package/index.d.mts +2 -0
- package/index.d.ts +2 -0
- package/index.js +32 -0
- package/index.mjs +7 -0
- package/package.json +1 -1
- package/utils.js +6056 -0
- package/utils.mjs +6032 -0
- package/.gitignore +0 -25
- package/build.dev.ts +0 -51
- package/build.ts +0 -112
- package/imports-checker/analyze.ts +0 -78
- package/imports-checker/checker.ts +0 -296
- package/imports-checker/grammar/grammar.ohm +0 -121
- package/imports-checker/grammar/grammar.ohm-bundle.d.ts +0 -164
- package/imports-checker/grammar/grammar.ohm-bundle.js +0 -753
- package/imports-checker/index.ts +0 -48
- package/patches/difflib@0.2.4.patch +0 -31
- package/src/@types/utils.ts +0 -58
- package/src/api.ts +0 -504
- package/src/cli/commands/_es5.ts +0 -2
- package/src/cli/commands/check.ts +0 -52
- package/src/cli/commands/drop.ts +0 -60
- package/src/cli/commands/introspect.ts +0 -772
- package/src/cli/commands/libSqlPushUtils.ts +0 -355
- package/src/cli/commands/migrate.ts +0 -1526
- package/src/cli/commands/mysqlIntrospect.ts +0 -53
- package/src/cli/commands/mysqlPushUtils.ts +0 -352
- package/src/cli/commands/mysqlUp.ts +0 -102
- package/src/cli/commands/pgIntrospect.ts +0 -55
- package/src/cli/commands/pgPushUtils.ts +0 -269
- package/src/cli/commands/pgUp.ts +0 -217
- package/src/cli/commands/push.ts +0 -637
- package/src/cli/commands/singlestoreIntrospect.ts +0 -53
- package/src/cli/commands/singlestorePushUtils.ts +0 -456
- package/src/cli/commands/singlestoreUp.ts +0 -1
- package/src/cli/commands/sqliteIntrospect.ts +0 -96
- package/src/cli/commands/sqlitePushUtils.ts +0 -322
- package/src/cli/commands/sqliteUp.ts +0 -52
- package/src/cli/commands/utils.ts +0 -858
- package/src/cli/connections.ts +0 -914
- package/src/cli/index.ts +0 -48
- package/src/cli/schema.ts +0 -794
- package/src/cli/selector-ui.ts +0 -38
- package/src/cli/utils.ts +0 -112
- package/src/cli/validations/cli.ts +0 -79
- package/src/cli/validations/common.ts +0 -193
- package/src/cli/validations/libsql.ts +0 -27
- package/src/cli/validations/mysql.ts +0 -61
- package/src/cli/validations/outputs.ts +0 -91
- package/src/cli/validations/postgres.ts +0 -83
- package/src/cli/validations/singlestore.ts +0 -61
- package/src/cli/validations/sqlite.ts +0 -104
- package/src/cli/validations/studio.ts +0 -24
- package/src/cli/views.ts +0 -658
- package/src/extensions/getTablesFilterByExtensions.ts +0 -16
- package/src/extensions/vector.ts +0 -10
- package/src/global.ts +0 -61
- package/src/introspect-mysql.ts +0 -1030
- package/src/introspect-pg.ts +0 -1435
- package/src/introspect-singlestore.ts +0 -913
- package/src/introspect-sqlite.ts +0 -533
- package/src/jsonDiffer.js +0 -882
- package/src/jsonStatements.ts +0 -3590
- package/src/loader.mjs +0 -57
- package/src/migrationPreparator.ts +0 -217
- package/src/schemaValidator.ts +0 -23
- package/src/serializer/index.ts +0 -142
- package/src/serializer/mysqlImports.ts +0 -38
- package/src/serializer/mysqlSchema.ts +0 -423
- package/src/serializer/mysqlSerializer.ts +0 -999
- package/src/serializer/pgImports.ts +0 -106
- package/src/serializer/pgSchema.ts +0 -937
- package/src/serializer/pgSerializer.ts +0 -2223
- package/src/serializer/singlestoreImports.ts +0 -38
- package/src/serializer/singlestoreSchema.ts +0 -257
- package/src/serializer/singlestoreSerializer.ts +0 -767
- package/src/serializer/sqliteImports.ts +0 -41
- package/src/serializer/sqliteSchema.ts +0 -352
- package/src/serializer/sqliteSerializer.ts +0 -931
- package/src/serializer/studio.ts +0 -694
- package/src/serializer/utils.ts +0 -45
- package/src/simulator.ts +0 -157
- package/src/snapshotsDiffer.ts +0 -4398
- package/src/sqlgenerator.ts +0 -4212
- package/src/statementCombiner.ts +0 -597
- package/src/utils/certs.ts +0 -44
- package/src/utils/words.ts +0 -1333
- package/src/utils.ts +0 -370
- package/tests/bin.test.ts +0 -58
- package/tests/cli/d1http.config.ts +0 -12
- package/tests/cli/drizzle.config.ts +0 -9
- package/tests/cli/durable-sqlite.config.ts +0 -7
- package/tests/cli/expo.config.ts +0 -7
- package/tests/cli/postgres.config.ts +0 -13
- package/tests/cli/postgres2.config.ts +0 -17
- package/tests/cli/schema.ts +0 -1
- package/tests/cli/turso.config.ts +0 -10
- package/tests/cli-export.test.ts +0 -79
- package/tests/cli-generate.test.ts +0 -259
- package/tests/cli-migrate.test.ts +0 -103
- package/tests/cli-push.test.ts +0 -126
- package/tests/common.ts +0 -15
- package/tests/indexes/common.ts +0 -21
- package/tests/indexes/pg.test.ts +0 -245
- package/tests/introspect/libsql.test.ts +0 -35
- package/tests/introspect/mysql.test.ts +0 -319
- package/tests/introspect/pg.test.ts +0 -894
- package/tests/introspect/singlestore.test.ts +0 -275
- package/tests/introspect/sqlite.test.ts +0 -122
- package/tests/libsql-checks.test.ts +0 -308
- package/tests/libsql-statements.test.ts +0 -989
- package/tests/libsql-views.test.ts +0 -218
- package/tests/migrate/libsq-schema.ts +0 -6
- package/tests/migrate/libsql-migrate.test.ts +0 -58
- package/tests/migrate/migrations/0000_little_blizzard.sql +0 -4
- package/tests/migrate/migrations/0001_nebulous_storm.sql +0 -10
- package/tests/migrate/migrations/meta/0000_snapshot.json +0 -40
- package/tests/migrate/migrations/meta/0001_snapshot.json +0 -40
- package/tests/migrate/migrations/meta/_journal.json +0 -20
- package/tests/mysql-checks.test.ts +0 -291
- package/tests/mysql-generated.test.ts +0 -1290
- package/tests/mysql-schemas.test.ts +0 -156
- package/tests/mysql-views.test.ts +0 -553
- package/tests/mysql.test.ts +0 -863
- package/tests/pg-array.test.ts +0 -368
- package/tests/pg-checks.test.ts +0 -329
- package/tests/pg-columns.test.ts +0 -484
- package/tests/pg-domains.test.ts +0 -306
- package/tests/pg-enums.test.ts +0 -751
- package/tests/pg-generated.test.ts +0 -529
- package/tests/pg-identity.test.ts +0 -447
- package/tests/pg-schemas.test.ts +0 -105
- package/tests/pg-sequences.test.ts +0 -298
- package/tests/pg-tables.test.ts +0 -1021
- package/tests/pg-views.test.ts +0 -1929
- package/tests/push/common.ts +0 -58
- package/tests/push/libsql.test.ts +0 -1400
- package/tests/push/mysql-push.test.ts +0 -345
- package/tests/push/mysql.test.ts +0 -788
- package/tests/push/pg.test.ts +0 -4341
- package/tests/push/singlestore-push.test.ts +0 -894
- package/tests/push/singlestore.test.ts +0 -444
- package/tests/push/sqlite.test.ts +0 -1613
- package/tests/rls/pg-policy.test.ts +0 -1656
- package/tests/rls/pg-role.test.ts +0 -234
- package/tests/schemaDiffer.ts +0 -2852
- package/tests/singlestore-generated.test.ts +0 -1290
- package/tests/singlestore-schemas.test.ts +0 -155
- package/tests/singlestore.test.ts +0 -978
- package/tests/sqlite-checks.test.ts +0 -308
- package/tests/sqlite-columns.test.ts +0 -1049
- package/tests/sqlite-generated.test.ts +0 -1726
- package/tests/sqlite-tables.test.ts +0 -637
- package/tests/sqlite-views.test.ts +0 -218
- package/tests/statements-combiner/libsql-statements-combiner.test.ts +0 -1812
- package/tests/statements-combiner/singlestore-statements-combiner.test.ts +0 -882
- package/tests/statements-combiner/sqlite-statements-combiner.test.ts +0 -1211
- package/tests/test/sqlite.test.ts +0 -39
- package/tests/testsinglestore.ts +0 -29
- package/tests/validations.test.ts +0 -869
- package/tests/wrap-param.test.ts +0 -16
- package/tsconfig.build.json +0 -4
- package/tsconfig.cli-types.json +0 -9
- package/tsconfig.json +0 -28
- package/vitest.config.ts +0 -34
package/src/serializer/utils.ts
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { SQL } from 'drizzle-orm';
|
|
2
|
-
import { CasingCache, toCamelCase, toSnakeCase } from 'drizzle-orm/casing';
|
|
3
|
-
import { CasingType } from '../cli/validations/common';
|
|
4
|
-
|
|
5
|
-
export function getColumnCasing(
|
|
6
|
-
column: { keyAsName: boolean; name: string | undefined },
|
|
7
|
-
casing: CasingType | undefined,
|
|
8
|
-
) {
|
|
9
|
-
if (!column.name) return '';
|
|
10
|
-
return !column.keyAsName || casing === undefined
|
|
11
|
-
? column.name
|
|
12
|
-
: casing === 'camelCase'
|
|
13
|
-
? toCamelCase(column.name)
|
|
14
|
-
: toSnakeCase(column.name);
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
export const sqlToStr = (sql: SQL, casing: CasingType | undefined) => {
|
|
18
|
-
return sql.toQuery({
|
|
19
|
-
escapeName: () => {
|
|
20
|
-
throw new Error("we don't support params for `sql` default values");
|
|
21
|
-
},
|
|
22
|
-
escapeParam: () => {
|
|
23
|
-
throw new Error("we don't support params for `sql` default values");
|
|
24
|
-
},
|
|
25
|
-
escapeString: () => {
|
|
26
|
-
throw new Error("we don't support params for `sql` default values");
|
|
27
|
-
},
|
|
28
|
-
casing: new CasingCache(casing),
|
|
29
|
-
}).sql;
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
export const sqlToStrGenerated = (sql: SQL, casing: CasingType | undefined) => {
|
|
33
|
-
return sql.toQuery({
|
|
34
|
-
escapeName: () => {
|
|
35
|
-
throw new Error("we don't support params for `sql` default values");
|
|
36
|
-
},
|
|
37
|
-
escapeParam: () => {
|
|
38
|
-
throw new Error("we don't support params for `sql` default values");
|
|
39
|
-
},
|
|
40
|
-
escapeString: () => {
|
|
41
|
-
throw new Error("we don't support params for `sql` default values");
|
|
42
|
-
},
|
|
43
|
-
casing: new CasingCache(casing),
|
|
44
|
-
}).sql;
|
|
45
|
-
};
|
package/src/simulator.ts
DELETED
|
@@ -1,157 +0,0 @@
|
|
|
1
|
-
declare global {
|
|
2
|
-
interface Array<T> {
|
|
3
|
-
exactlyOne(): T;
|
|
4
|
-
}
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
Array.prototype.exactlyOne = function() {
|
|
8
|
-
if (this.length !== 1) {
|
|
9
|
-
return undefined;
|
|
10
|
-
}
|
|
11
|
-
return this[0];
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
interface TablesHandler<T extends Named> {
|
|
15
|
-
can(added: T[], removed: T[]): boolean;
|
|
16
|
-
handle(added: T[], removed: T[]): { created: T[]; deleted: T[]; renamed: { from: T; to: T }[] };
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
interface ColumnsHandler<T extends Named> {
|
|
20
|
-
can(tableName: string, added: T[], removed: T[]): boolean;
|
|
21
|
-
handle(
|
|
22
|
-
tableName: string,
|
|
23
|
-
added: T[],
|
|
24
|
-
removed: T[],
|
|
25
|
-
): { tableName: string; created: T[]; deleted: T[]; renamed: { from: T; to: T }[] };
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
class DryRun<T extends Named> implements TablesHandler<T> {
|
|
29
|
-
can(added: T[], removed: T[]): boolean {
|
|
30
|
-
return added.length === 0 && removed.length === 0;
|
|
31
|
-
}
|
|
32
|
-
handle(added: T[], _: T[]): { created: T[]; deleted: T[]; renamed: { from: T; to: T }[] } {
|
|
33
|
-
return { created: added, deleted: [], renamed: [] };
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
// class Fallback implements Handler {
|
|
38
|
-
// can(_: Table[], __: Table[]): boolean {
|
|
39
|
-
// return true
|
|
40
|
-
// }
|
|
41
|
-
// handle(added: Table[], _: Table[]): { created: Table[]; deleted: Table[]; renamed: { from: Table; to: Table; }[]; } {
|
|
42
|
-
// return { created: added, deleted: , renamed: [] }
|
|
43
|
-
// }
|
|
44
|
-
// }
|
|
45
|
-
|
|
46
|
-
class Case1<T extends Named> implements TablesHandler<T> {
|
|
47
|
-
can(_: T[], removed: T[]): boolean {
|
|
48
|
-
return removed.length === 1 && removed[0].name === 'citiess';
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
handle(added: T[], removed: T[]): { created: T[]; deleted: T[]; renamed: { from: T; to: T }[] } {
|
|
52
|
-
return { created: added, deleted: removed, renamed: [] };
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
class Case2<T extends Named> implements TablesHandler<T> {
|
|
56
|
-
// authOtp, deleted, users -> authOtp renamed, cities added, deleted deleted
|
|
57
|
-
can(_: T[], removed: T[]): boolean {
|
|
58
|
-
return removed.length === 3 && removed[0].name === 'auth_otp';
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
handle(added: T[], removed: T[]): { created: T[]; deleted: T[]; renamed: { from: T; to: T }[] } {
|
|
62
|
-
return { created: added.slice(1), deleted: removed.slice(1), renamed: [{ from: removed[0], to: added[0] }] };
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
type Named = { name: string };
|
|
67
|
-
|
|
68
|
-
const handlers: TablesHandler<any>[] = [];
|
|
69
|
-
handlers.push(new Case1());
|
|
70
|
-
handlers.push(new Case2());
|
|
71
|
-
handlers.push(new DryRun());
|
|
72
|
-
|
|
73
|
-
export const resolveTables = <T extends Named>(added: T[], removed: T[]) => {
|
|
74
|
-
const handler = handlers.filter((it) => {
|
|
75
|
-
return it.can(added, removed);
|
|
76
|
-
}).exactlyOne();
|
|
77
|
-
|
|
78
|
-
if (!handler) {
|
|
79
|
-
console.log('added', added.map((it) => it.name).join());
|
|
80
|
-
console.log('removed', removed.map((it) => it.name).join());
|
|
81
|
-
throw new Error('No handler');
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
console.log(`Simluated by ${handler.constructor.name}`);
|
|
85
|
-
return handler.handle(added, removed);
|
|
86
|
-
};
|
|
87
|
-
class LehaColumnsHandler<T extends Named> implements ColumnsHandler<T> {
|
|
88
|
-
can(tableName: string, _: T[], __: T[]): boolean {
|
|
89
|
-
return tableName === 'users';
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
handle(
|
|
93
|
-
tableName: string,
|
|
94
|
-
added: T[],
|
|
95
|
-
removed: T[],
|
|
96
|
-
): { tableName: string; created: T[]; deleted: T[]; renamed: { from: T; to: T }[] } {
|
|
97
|
-
return { tableName, created: [], deleted: [], renamed: [{ from: removed[0], to: added[0] }] };
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
class DryRunColumnsHandler<T extends Named> implements ColumnsHandler<T> {
|
|
102
|
-
can(tableName: string, _: T[], __: T[]): boolean {
|
|
103
|
-
return true;
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
handle(
|
|
107
|
-
tableName: string,
|
|
108
|
-
added: T[],
|
|
109
|
-
removed: T[],
|
|
110
|
-
): { tableName: string; created: T[]; deleted: T[]; renamed: { from: T; to: T }[] } {
|
|
111
|
-
return { tableName, created: added, deleted: removed, renamed: [] };
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
class V1V2AuthOtpColumnsHandler<T extends Named> implements ColumnsHandler<T> {
|
|
116
|
-
can(tableName: string, _: T[], __: T[]): boolean {
|
|
117
|
-
return tableName === 'auth_otp';
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
handle(
|
|
121
|
-
tableName: string,
|
|
122
|
-
added: T[],
|
|
123
|
-
removed: T[],
|
|
124
|
-
): { tableName: string; created: T[]; deleted: T[]; renamed: { from: T; to: T }[] } {
|
|
125
|
-
const phonePrev = removed.filter((it) => it.name === 'phone')[0];
|
|
126
|
-
const phoneNew = added.filter((it) => it.name === 'phone1')[0];
|
|
127
|
-
|
|
128
|
-
const newAdded = added.filter((it) => it.name !== 'phone1');
|
|
129
|
-
const newRemoved = removed.filter((it) => it.name !== 'phone');
|
|
130
|
-
|
|
131
|
-
return { tableName, created: newAdded, deleted: newRemoved, renamed: [{ from: phonePrev, to: phoneNew }] };
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
// handle(tableName:string, added: T[], _: T[]): { created: T[]; deleted: T[]; renamed: { from: T; to: T; }[]; } {
|
|
135
|
-
// return { created: added, deleted: [], renamed: [] }
|
|
136
|
-
// }
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
const columnsHandlers: ColumnsHandler<any>[] = [];
|
|
140
|
-
columnsHandlers.push(new V1V2AuthOtpColumnsHandler());
|
|
141
|
-
columnsHandlers.push(new LehaColumnsHandler());
|
|
142
|
-
columnsHandlers.push(new DryRunColumnsHandler());
|
|
143
|
-
|
|
144
|
-
export const resolveColumns = <T extends Named>(tableName: string, added: T[], removed: T[]) => {
|
|
145
|
-
const handler = columnsHandlers.filter((it) => {
|
|
146
|
-
return it.can(tableName, added, removed);
|
|
147
|
-
})[0];
|
|
148
|
-
|
|
149
|
-
if (!handler) {
|
|
150
|
-
console.log('added', added.map((it) => it.name).join());
|
|
151
|
-
console.log('removed', removed.map((it) => it.name).join());
|
|
152
|
-
throw new Error('No columns handler for table: ' + tableName);
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
console.log(`${tableName} columns simluated by ${handler.constructor.name}`);
|
|
156
|
-
return handler.handle(tableName, added, removed);
|
|
157
|
-
};
|