@c9up/atlas 0.1.19 → 0.2.1
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/README.md +63 -14
- package/db.darwin-arm64.node +0 -0
- package/db.darwin-x64.node +0 -0
- package/db.linux-arm64-gnu.node +0 -0
- package/db.linux-x64-gnu.node +0 -0
- package/db.win32-x64-msvc.node +0 -0
- package/dist/AtlasProvider.d.ts +66 -7
- package/dist/AtlasProvider.d.ts.map +1 -1
- package/dist/AtlasProvider.js +205 -39
- package/dist/AtlasProvider.js.map +1 -1
- package/dist/BaseEntity.d.ts +181 -5
- package/dist/BaseEntity.d.ts.map +1 -1
- package/dist/BaseEntity.js +339 -33
- package/dist/BaseEntity.js.map +1 -1
- package/dist/BaseModel.d.ts +127 -0
- package/dist/BaseModel.d.ts.map +1 -0
- package/dist/BaseModel.js +250 -0
- package/dist/BaseModel.js.map +1 -0
- package/dist/BaseRepository.d.ts +81 -15
- package/dist/BaseRepository.d.ts.map +1 -1
- package/dist/BaseRepository.js +1433 -387
- package/dist/BaseRepository.js.map +1 -1
- package/dist/ConnectionManager.d.ts +106 -0
- package/dist/ConnectionManager.d.ts.map +1 -0
- package/dist/ConnectionManager.js +228 -0
- package/dist/ConnectionManager.js.map +1 -0
- package/dist/ModelQuery.d.ts +577 -41
- package/dist/ModelQuery.d.ts.map +1 -1
- package/dist/ModelQuery.js +2188 -291
- package/dist/ModelQuery.js.map +1 -1
- package/dist/Transaction.d.ts +71 -1
- package/dist/Transaction.d.ts.map +1 -1
- package/dist/Transaction.js +138 -24
- package/dist/Transaction.js.map +1 -1
- package/dist/adapters/NapiDbAdapter.d.ts +44 -4
- package/dist/adapters/NapiDbAdapter.d.ts.map +1 -1
- package/dist/adapters/NapiDbAdapter.js +131 -13
- package/dist/adapters/NapiDbAdapter.js.map +1 -1
- package/dist/console/contract.d.ts +62 -0
- package/dist/console/contract.d.ts.map +1 -0
- package/dist/console/contract.js +38 -0
- package/dist/console/contract.js.map +1 -0
- package/dist/console/factoryCommands.d.ts +23 -0
- package/dist/console/factoryCommands.d.ts.map +1 -0
- package/dist/console/factoryCommands.js +62 -0
- package/dist/console/factoryCommands.js.map +1 -0
- package/dist/console/migrationCommands.d.ts +78 -0
- package/dist/console/migrationCommands.d.ts.map +1 -0
- package/dist/console/migrationCommands.js +327 -0
- package/dist/console/migrationCommands.js.map +1 -0
- package/dist/console/schemaCheckCommand.d.ts +11 -17
- package/dist/console/schemaCheckCommand.d.ts.map +1 -1
- package/dist/console/schemaCheckCommand.js +21 -15
- package/dist/console/schemaCheckCommand.js.map +1 -1
- package/dist/console/schemaDumpCommand.d.ts +30 -0
- package/dist/console/schemaDumpCommand.d.ts.map +1 -0
- package/dist/console/schemaDumpCommand.js +69 -0
- package/dist/console/schemaDumpCommand.js.map +1 -0
- package/dist/console/schemaGenerateCommand.d.ts +100 -0
- package/dist/console/schemaGenerateCommand.d.ts.map +1 -0
- package/dist/console/schemaGenerateCommand.js +246 -0
- package/dist/console/schemaGenerateCommand.js.map +1 -0
- package/dist/console/seederCommands.d.ts +46 -0
- package/dist/console/seederCommands.d.ts.map +1 -0
- package/dist/console/seederCommands.js +136 -0
- package/dist/console/seederCommands.js.map +1 -0
- package/dist/decorators/entity.d.ts +50 -8
- package/dist/decorators/entity.d.ts.map +1 -1
- package/dist/decorators/entity.js +42 -2
- package/dist/decorators/entity.js.map +1 -1
- package/dist/decorators/hooks.d.ts +3 -3
- package/dist/decorators/hooks.d.ts.map +1 -1
- package/dist/decorators/hooks.js.map +1 -1
- package/dist/events.d.ts +69 -0
- package/dist/events.d.ts.map +1 -0
- package/dist/events.js +82 -0
- package/dist/events.js.map +1 -0
- package/dist/factories.d.ts +8 -0
- package/dist/factories.d.ts.map +1 -0
- package/dist/factories.js +8 -0
- package/dist/factories.js.map +1 -0
- package/dist/index.d.ts +15 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -3
- package/dist/index.js.map +1 -1
- package/dist/lucid-schema.d.ts +15 -0
- package/dist/lucid-schema.d.ts.map +1 -0
- package/dist/lucid-schema.js +16 -0
- package/dist/lucid-schema.js.map +1 -0
- package/dist/metadata-keys.d.ts +3 -2
- package/dist/metadata-keys.d.ts.map +1 -1
- package/dist/naming/NamingStrategy.d.ts +7 -0
- package/dist/naming/NamingStrategy.d.ts.map +1 -1
- package/dist/naming/NamingStrategy.js +16 -0
- package/dist/naming/NamingStrategy.js.map +1 -1
- package/dist/orm.d.ts +14 -0
- package/dist/orm.d.ts.map +1 -0
- package/dist/orm.js +14 -0
- package/dist/orm.js.map +1 -0
- package/dist/query/DatabaseQueryBuilder.d.ts +557 -0
- package/dist/query/DatabaseQueryBuilder.d.ts.map +1 -0
- package/dist/query/DatabaseQueryBuilder.js +1798 -0
- package/dist/query/DatabaseQueryBuilder.js.map +1 -0
- package/dist/query/DmlBuilder.d.ts +62 -0
- package/dist/query/DmlBuilder.d.ts.map +1 -0
- package/dist/query/DmlBuilder.js +84 -0
- package/dist/query/DmlBuilder.js.map +1 -0
- package/dist/query/QueryBuilder.d.ts +5 -0
- package/dist/query/QueryBuilder.d.ts.map +1 -1
- package/dist/query/QueryBuilder.js +7 -0
- package/dist/query/QueryBuilder.js.map +1 -1
- package/dist/query/RawQueryBuilder.d.ts +47 -0
- package/dist/query/RawQueryBuilder.d.ts.map +1 -0
- package/dist/query/RawQueryBuilder.js +138 -0
- package/dist/query/RawQueryBuilder.js.map +1 -0
- package/dist/query/interpolate.d.ts +45 -0
- package/dist/query/interpolate.d.ts.map +1 -0
- package/dist/query/interpolate.js +51 -0
- package/dist/query/interpolate.js.map +1 -0
- package/dist/query/native.d.ts +8 -0
- package/dist/query/native.d.ts.map +1 -1
- package/dist/query/native.js +14 -0
- package/dist/query/native.js.map +1 -1
- package/dist/query/operators.d.ts +4 -0
- package/dist/query/operators.d.ts.map +1 -0
- package/dist/query/operators.js +27 -0
- package/dist/query/operators.js.map +1 -0
- package/dist/schema/Migration.d.ts +50 -3
- package/dist/schema/Migration.d.ts.map +1 -1
- package/dist/schema/Migration.js +60 -24
- package/dist/schema/Migration.js.map +1 -1
- package/dist/schema/MigrationRunner.d.ts +95 -34
- package/dist/schema/MigrationRunner.d.ts.map +1 -1
- package/dist/schema/MigrationRunner.js +523 -68
- package/dist/schema/MigrationRunner.js.map +1 -1
- package/dist/schema/Schema.d.ts +114 -0
- package/dist/schema/Schema.d.ts.map +1 -1
- package/dist/schema/Schema.js +272 -3
- package/dist/schema/Schema.js.map +1 -1
- package/dist/schema/SchemaDumper.d.ts +121 -0
- package/dist/schema/SchemaDumper.d.ts.map +1 -0
- package/dist/schema/SchemaDumper.js +365 -0
- package/dist/schema/SchemaDumper.js.map +1 -0
- package/dist/schema/Seeder.d.ts +13 -0
- package/dist/schema/Seeder.d.ts.map +1 -1
- package/dist/schema/Seeder.js +28 -5
- package/dist/schema/Seeder.js.map +1 -1
- package/dist/schema/TableBuilder.d.ts +274 -16
- package/dist/schema/TableBuilder.d.ts.map +1 -1
- package/dist/schema/TableBuilder.js +656 -52
- package/dist/schema/TableBuilder.js.map +1 -1
- package/dist/schema/catalog.d.ts +71 -0
- package/dist/schema/catalog.d.ts.map +1 -0
- package/dist/schema/catalog.js +158 -0
- package/dist/schema/catalog.js.map +1 -0
- package/dist/schema/introspect.d.ts +1 -1
- package/dist/schema/introspect.d.ts.map +1 -1
- package/dist/schema/introspect.js +26 -11
- package/dist/schema/introspect.js.map +1 -1
- package/dist/schema/types.d.ts +150 -1
- package/dist/schema/types.d.ts.map +1 -1
- package/dist/schema/types.js +11 -0
- package/dist/schema/types.js.map +1 -1
- package/dist/seeders.d.ts +7 -0
- package/dist/seeders.d.ts.map +1 -0
- package/dist/seeders.js +7 -0
- package/dist/seeders.js.map +1 -0
- package/dist/services/db.d.ts +122 -5
- package/dist/services/db.d.ts.map +1 -1
- package/dist/services/db.js +187 -14
- package/dist/services/db.js.map +1 -1
- package/dist/testing/DatabaseCleanup.d.ts +33 -7
- package/dist/testing/DatabaseCleanup.d.ts.map +1 -1
- package/dist/testing/DatabaseCleanup.js +54 -24
- package/dist/testing/DatabaseCleanup.js.map +1 -1
- package/dist/testing/DbAssertions.d.ts +48 -0
- package/dist/testing/DbAssertions.d.ts.map +1 -0
- package/dist/testing/DbAssertions.js +80 -0
- package/dist/testing/DbAssertions.js.map +1 -0
- package/dist/testing/Factory.d.ts +166 -15
- package/dist/testing/Factory.d.ts.map +1 -1
- package/dist/testing/Factory.js +497 -23
- package/dist/testing/Factory.js.map +1 -1
- package/dist/testing/TestUtils.d.ts +49 -0
- package/dist/testing/TestUtils.d.ts.map +1 -0
- package/dist/testing/TestUtils.js +79 -0
- package/dist/testing/TestUtils.js.map +1 -0
- package/dist/testing/index.d.ts +3 -1
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +3 -1
- package/dist/testing/index.js.map +1 -1
- package/dist/types/relations.d.ts +31 -0
- package/dist/types/relations.d.ts.map +1 -0
- package/dist/types/relations.js +20 -0
- package/dist/types/relations.js.map +1 -0
- package/index.darwin-arm64.node +0 -0
- package/index.darwin-x64.node +0 -0
- package/index.linux-arm64-gnu.node +0 -0
- package/index.linux-x64-gnu.node +0 -0
- package/index.win32-x64-msvc.node +0 -0
- package/package.json +32 -2
- package/scripts/guard-publish.mjs +15 -0
- package/src/AtlasProvider.ts +305 -52
- package/src/BaseEntity.ts +460 -41
- package/src/BaseModel.ts +461 -0
- package/src/BaseRepository.ts +1710 -421
- package/src/ConnectionManager.ts +298 -0
- package/src/ModelQuery.ts +2998 -335
- package/src/Transaction.ts +227 -30
- package/src/adapters/NapiDbAdapter.ts +224 -17
- package/src/console/contract.ts +96 -0
- package/src/console/factoryCommands.ts +73 -0
- package/src/console/migrationCommands.ts +448 -0
- package/src/console/schemaCheckCommand.ts +26 -22
- package/src/console/schemaDumpCommand.ts +96 -0
- package/src/console/schemaGenerateCommand.ts +380 -0
- package/src/console/seederCommands.ts +174 -0
- package/src/decorators/entity.ts +71 -8
- package/src/decorators/hooks.ts +5 -3
- package/src/events.ts +117 -0
- package/src/factories.ts +10 -0
- package/src/index.ts +69 -3
- package/src/lucid-schema.ts +22 -0
- package/src/metadata-keys.ts +3 -2
- package/src/naming/NamingStrategy.ts +23 -0
- package/src/orm.ts +13 -0
- package/src/query/DatabaseQueryBuilder.ts +2724 -0
- package/src/query/DmlBuilder.ts +131 -0
- package/src/query/QueryBuilder.ts +8 -0
- package/src/query/RawQueryBuilder.ts +173 -0
- package/src/query/interpolate.ts +73 -0
- package/src/query/native.ts +29 -0
- package/src/query/operators.ts +27 -0
- package/src/schema/Migration.ts +71 -3
- package/src/schema/MigrationRunner.ts +676 -69
- package/src/schema/Schema.ts +359 -3
- package/src/schema/SchemaDumper.ts +518 -0
- package/src/schema/Seeder.ts +47 -10
- package/src/schema/TableBuilder.ts +783 -52
- package/src/schema/catalog.ts +236 -0
- package/src/schema/introspect.ts +26 -9
- package/src/schema/types.ts +137 -2
- package/src/seeders.ts +16 -0
- package/src/services/db.ts +361 -21
- package/src/testing/DatabaseCleanup.ts +78 -25
- package/src/testing/DbAssertions.ts +127 -0
- package/src/testing/Factory.ts +837 -40
- package/src/testing/TestUtils.ts +123 -0
- package/src/testing/index.ts +12 -1
- package/src/types/relations.ts +43 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableBuilder.js","sourceRoot":"","sources":["../../src/schema/TableBuilder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TableBuilder.js","sourceRoot":"","sources":["../../src/schema/TableBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dialect-aware catalog queries — "which base tables exist right now".
|
|
3
|
+
*
|
|
4
|
+
* The single source of truth for listing user tables, shared by the migration
|
|
5
|
+
* runner's drop/wipe and the test-time `truncateAll`. Each query hits the
|
|
6
|
+
* dialect's own catalog (`sqlite_master`, `pg_tables`, `information_schema`);
|
|
7
|
+
* they are framework introspection, not user queries, so they stay raw SQL.
|
|
8
|
+
*/
|
|
9
|
+
import type { AtlasDialect } from "../query/native.js";
|
|
10
|
+
/**
|
|
11
|
+
* The minimal connection surface these helpers need — just `query`/`execute`.
|
|
12
|
+
* Narrower than `AsyncDatabaseConnection` on purpose, so the migration runner's
|
|
13
|
+
* `DatabaseAdapter` (which has no `dialect`/`ping`) satisfies it too.
|
|
14
|
+
*/
|
|
15
|
+
export interface CatalogConnection {
|
|
16
|
+
query<T = Record<string, unknown>>(sql: string, params?: unknown[]): Promise<T[]>;
|
|
17
|
+
execute(sql: string, params?: unknown[]): Promise<unknown>;
|
|
18
|
+
/**
|
|
19
|
+
* Optional: run a batch of statements atomically on ONE pinned pooled
|
|
20
|
+
* connection. When present, {@link runWithoutForeignKeys} uses it so the FK
|
|
21
|
+
* toggle and the operations can't scatter across the pool.
|
|
22
|
+
*/
|
|
23
|
+
runInTransaction?(batch: readonly {
|
|
24
|
+
sql: string;
|
|
25
|
+
params?: unknown[];
|
|
26
|
+
}[]): Promise<number>;
|
|
27
|
+
/**
|
|
28
|
+
* Optional MANAGED interactive transaction pinned to ONE connection (Lucid
|
|
29
|
+
* `db.transaction(cb)`). When present, {@link runWithoutForeignKeys} uses it
|
|
30
|
+
* on MySQL so the FK restore runs in a real `finally` on that same connection.
|
|
31
|
+
*/
|
|
32
|
+
transaction?<T>(callback: (trx: CatalogConnection) => Promise<T>): Promise<T>;
|
|
33
|
+
}
|
|
34
|
+
export interface ListTablesOptions {
|
|
35
|
+
/**
|
|
36
|
+
* Include `ream_*` framework tables (the migrations table). Off by default
|
|
37
|
+
* so cleanup helpers leave the bookkeeping intact; `fresh()` turns it on
|
|
38
|
+
* because it re-creates the tracking table afterwards.
|
|
39
|
+
*/
|
|
40
|
+
includeFrameworkTables?: boolean;
|
|
41
|
+
/**
|
|
42
|
+
* PostgreSQL only — restrict the listing to these schemas instead of just the
|
|
43
|
+
* current one (Adonis Lucid `schemaGeneration.schemas`). Ignored on
|
|
44
|
+
* sqlite/mysql, which have no schema namespace of this kind.
|
|
45
|
+
*/
|
|
46
|
+
schemas?: string[];
|
|
47
|
+
}
|
|
48
|
+
/** List every base table in the current schema/database, for `dialect`. */
|
|
49
|
+
export declare function listUserTables(db: CatalogConnection, dialect: AtlasDialect, options?: ListTablesOptions): Promise<string[]>;
|
|
50
|
+
/**
|
|
51
|
+
* Does base table `name` exist right now, for `dialect`? The name is passed as a
|
|
52
|
+
* bound parameter (never interpolated) so this is injection-safe on every
|
|
53
|
+
* dialect. Backs `Schema.hasTable` (Adonis Lucid parity).
|
|
54
|
+
*/
|
|
55
|
+
export declare function tableExists(db: CatalogConnection, dialect: AtlasDialect, name: string): Promise<boolean>;
|
|
56
|
+
/**
|
|
57
|
+
* Does column `column` exist on table `table` right now, for `dialect`? Both
|
|
58
|
+
* names are bound parameters. Backs `Schema.hasColumn` (Adonis Lucid parity).
|
|
59
|
+
*/
|
|
60
|
+
export declare function columnExists(db: CatalogConnection, dialect: AtlasDialect, table: string, column: string): Promise<boolean>;
|
|
61
|
+
/**
|
|
62
|
+
* Run `fn` with foreign-key enforcement suspended, then restore it — the toggle
|
|
63
|
+
* runs even if `fn` throws. Lets a bulk drop/truncate ignore inter-table FK
|
|
64
|
+
* order. Postgres has no session-level switch (it uses `TRUNCATE … CASCADE` /
|
|
65
|
+
* `DROP … CASCADE` instead), so this is a no-op there.
|
|
66
|
+
*/
|
|
67
|
+
export declare function runWithoutForeignKeys(db: CatalogConnection, dialect: AtlasDialect, statements: ReadonlyArray<{
|
|
68
|
+
sql: string;
|
|
69
|
+
params?: unknown[];
|
|
70
|
+
}>): Promise<void>;
|
|
71
|
+
//# sourceMappingURL=catalog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/schema/catalog.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IACjC,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,OAAO,EAAE,GAChB,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IAGhB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3D;;;;OAIG;IACH,gBAAgB,CAAC,CAChB,KAAK,EAAE,SAAS;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAA;KAAE,EAAE,GACnD,OAAO,CAAC,MAAM,CAAC,CAAC;IACnB;;;;OAIG;IACH,WAAW,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,iBAAiB,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CAC9E;AAQD,MAAM,WAAW,iBAAiB;IACjC;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,2EAA2E;AAC3E,wBAAsB,cAAc,CACnC,EAAE,EAAE,iBAAiB,EACrB,OAAO,EAAE,YAAY,EACrB,OAAO,GAAE,iBAAsB,GAC7B,OAAO,CAAC,MAAM,EAAE,CAAC,CAyCnB;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAChC,EAAE,EAAE,iBAAiB,EACrB,OAAO,EAAE,YAAY,EACrB,IAAI,EAAE,MAAM,GACV,OAAO,CAAC,OAAO,CAAC,CAgBlB;AAED;;;GAGG;AACH,wBAAsB,YAAY,CACjC,EAAE,EAAE,iBAAiB,EACrB,OAAO,EAAE,YAAY,EACrB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACZ,OAAO,CAAC,OAAO,CAAC,CAoBlB;AAED;;;;;GAKG;AACH,wBAAsB,qBAAqB,CAC1C,EAAE,EAAE,iBAAiB,EACrB,OAAO,EAAE,YAAY,EACrB,UAAU,EAAE,aAAa,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAA;CAAE,CAAC,GAC5D,OAAO,CAAC,IAAI,CAAC,CAyDf"}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dialect-aware catalog queries — "which base tables exist right now".
|
|
3
|
+
*
|
|
4
|
+
* The single source of truth for listing user tables, shared by the migration
|
|
5
|
+
* runner's drop/wipe and the test-time `truncateAll`. Each query hits the
|
|
6
|
+
* dialect's own catalog (`sqlite_master`, `pg_tables`, `information_schema`);
|
|
7
|
+
* they are framework introspection, not user queries, so they stay raw SQL.
|
|
8
|
+
*/
|
|
9
|
+
import { AtlasError } from "../errors.js";
|
|
10
|
+
/**
|
|
11
|
+
* Prefix for framework-private tables (migrations bookkeeping), following the
|
|
12
|
+
* same `ream_`-prefix convention as AdonisJS's `adonis_`.
|
|
13
|
+
*/
|
|
14
|
+
const FRAMEWORK_PREFIX = "ream_";
|
|
15
|
+
/** List every base table in the current schema/database, for `dialect`. */
|
|
16
|
+
export async function listUserTables(db, dialect, options = {}) {
|
|
17
|
+
let sql;
|
|
18
|
+
const params = [];
|
|
19
|
+
switch (dialect) {
|
|
20
|
+
case "sqlite":
|
|
21
|
+
sql =
|
|
22
|
+
"SELECT name FROM sqlite_master WHERE type='table' AND name NOT LIKE 'sqlite_%'";
|
|
23
|
+
break;
|
|
24
|
+
case "postgres":
|
|
25
|
+
// Restrict to the given schemas (Lucid `schemas`) or the current one.
|
|
26
|
+
// Bind each schema as its own scalar placeholder — atlas's driver binds
|
|
27
|
+
// arrays as text, so `schemaname = ANY($1)` would fail; an IN list works.
|
|
28
|
+
if (options.schemas && options.schemas.length > 0) {
|
|
29
|
+
const placeholders = options.schemas.map((_, i) => `$${i + 1}`);
|
|
30
|
+
params.push(...options.schemas);
|
|
31
|
+
sql = `SELECT tablename AS name FROM pg_tables WHERE schemaname IN (${placeholders.join(", ")})`;
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
sql =
|
|
35
|
+
"SELECT tablename AS name FROM pg_tables WHERE schemaname = current_schema()";
|
|
36
|
+
}
|
|
37
|
+
break;
|
|
38
|
+
case "mysql":
|
|
39
|
+
// CAST to CHAR: MySQL returns information_schema identifier columns as
|
|
40
|
+
// binary (Uint8Array), which the string filter below would drop.
|
|
41
|
+
sql =
|
|
42
|
+
"SELECT CAST(table_name AS CHAR) AS name FROM information_schema.tables WHERE table_schema = DATABASE() AND table_type = 'BASE TABLE'";
|
|
43
|
+
break;
|
|
44
|
+
}
|
|
45
|
+
const rows = await db.query(sql, params);
|
|
46
|
+
const names = [];
|
|
47
|
+
for (const row of rows) {
|
|
48
|
+
if (typeof row.name !== "string")
|
|
49
|
+
continue;
|
|
50
|
+
if (!options.includeFrameworkTables &&
|
|
51
|
+
row.name.startsWith(FRAMEWORK_PREFIX)) {
|
|
52
|
+
continue;
|
|
53
|
+
}
|
|
54
|
+
names.push(row.name);
|
|
55
|
+
}
|
|
56
|
+
return names;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Does base table `name` exist right now, for `dialect`? The name is passed as a
|
|
60
|
+
* bound parameter (never interpolated) so this is injection-safe on every
|
|
61
|
+
* dialect. Backs `Schema.hasTable` (Adonis Lucid parity).
|
|
62
|
+
*/
|
|
63
|
+
export async function tableExists(db, dialect, name) {
|
|
64
|
+
const ph = dialect === "postgres" ? "$1" : "?";
|
|
65
|
+
let sql;
|
|
66
|
+
switch (dialect) {
|
|
67
|
+
case "sqlite":
|
|
68
|
+
sql = `SELECT 1 FROM sqlite_master WHERE type='table' AND name = ${ph}`;
|
|
69
|
+
break;
|
|
70
|
+
case "postgres":
|
|
71
|
+
sql = `SELECT 1 FROM pg_tables WHERE schemaname = current_schema() AND tablename = ${ph}`;
|
|
72
|
+
break;
|
|
73
|
+
case "mysql":
|
|
74
|
+
sql = `SELECT 1 FROM information_schema.tables WHERE table_schema = DATABASE() AND table_name = ${ph} AND table_type = 'BASE TABLE'`;
|
|
75
|
+
break;
|
|
76
|
+
}
|
|
77
|
+
const rows = await db.query(sql, [name]);
|
|
78
|
+
return rows.length > 0;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Does column `column` exist on table `table` right now, for `dialect`? Both
|
|
82
|
+
* names are bound parameters. Backs `Schema.hasColumn` (Adonis Lucid parity).
|
|
83
|
+
*/
|
|
84
|
+
export async function columnExists(db, dialect, table, column) {
|
|
85
|
+
if (dialect === "sqlite") {
|
|
86
|
+
// PRAGMA introspection via the table-valued function form, which accepts a
|
|
87
|
+
// bound table-name argument (unlike `PRAGMA table_info(x)`).
|
|
88
|
+
const rows = await db.query("SELECT 1 FROM pragma_table_info(?) WHERE name = ?", [table, column]);
|
|
89
|
+
return rows.length > 0;
|
|
90
|
+
}
|
|
91
|
+
const [p1, p2] = dialect === "postgres" ? ["$1", "$2"] : ["?", "?"];
|
|
92
|
+
const schemaPredicate = dialect === "postgres"
|
|
93
|
+
? "table_schema = current_schema()"
|
|
94
|
+
: "table_schema = DATABASE()";
|
|
95
|
+
const rows = await db.query(`SELECT 1 FROM information_schema.columns WHERE ${schemaPredicate} AND table_name = ${p1} AND column_name = ${p2}`, [table, column]);
|
|
96
|
+
return rows.length > 0;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Run `fn` with foreign-key enforcement suspended, then restore it — the toggle
|
|
100
|
+
* runs even if `fn` throws. Lets a bulk drop/truncate ignore inter-table FK
|
|
101
|
+
* order. Postgres has no session-level switch (it uses `TRUNCATE … CASCADE` /
|
|
102
|
+
* `DROP … CASCADE` instead), so this is a no-op there.
|
|
103
|
+
*/
|
|
104
|
+
export async function runWithoutForeignKeys(db, dialect, statements) {
|
|
105
|
+
if (statements.length === 0)
|
|
106
|
+
return;
|
|
107
|
+
// MySQL: `SET FOREIGN_KEY_CHECKS` is a SESSION variable (not transactional),
|
|
108
|
+
// so it MUST be restored in a real `finally` on the SAME pinned connection —
|
|
109
|
+
// otherwise a mid-batch failure leaves the pooled connection with FK checks
|
|
110
|
+
// off. Use the managed interactive transaction: SET 0 → ops → finally SET 1,
|
|
111
|
+
// all on the one pinned connection, restore guaranteed even on error.
|
|
112
|
+
if (dialect === "mysql") {
|
|
113
|
+
// MySQL `SET FOREIGN_KEY_CHECKS` is a SESSION variable (not transactional),
|
|
114
|
+
// so it MUST be restored in a real `finally` on the SAME pinned connection.
|
|
115
|
+
// That needs the managed interactive transaction: SET 0 → ops → finally
|
|
116
|
+
// SET 1, restore guaranteed even on error. Without transaction() there is
|
|
117
|
+
// no safe restore — a mid-batch failure would leave the pooled connection
|
|
118
|
+
// with FK checks OFF (a poisoned connection). Refuse rather than corrupt.
|
|
119
|
+
if (!db.transaction) {
|
|
120
|
+
throw new AtlasError("E_MYSQL_FK_REQUIRES_TRANSACTION", "Suspending MySQL foreign-key checks needs an interactive transaction() to restore them in a finally — a session-level SET can't be rolled back, so a failure mid-batch would leave the pooled connection with FK checks disabled. This adapter has none.", {
|
|
121
|
+
hint: "Use a real connection (createNapiConnection) or an adapter that implements transaction().",
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
await db.transaction(async (trx) => {
|
|
125
|
+
try {
|
|
126
|
+
await trx.execute("SET FOREIGN_KEY_CHECKS = 0");
|
|
127
|
+
for (const stmt of statements) {
|
|
128
|
+
await trx.execute(stmt.sql, stmt.params);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
finally {
|
|
132
|
+
await trx.execute("SET FOREIGN_KEY_CHECKS = 1");
|
|
133
|
+
}
|
|
134
|
+
});
|
|
135
|
+
return;
|
|
136
|
+
}
|
|
137
|
+
// sqlite/postgres: run the FK toggle + ops on ONE pinned connection via
|
|
138
|
+
// runInTransaction so a pool can't scatter the connection-local toggle away
|
|
139
|
+
// from the ops.
|
|
140
|
+
// - sqlite: `PRAGMA defer_foreign_keys` is transaction-scoped and auto-resets
|
|
141
|
+
// at txn end (no leak); plain `PRAGMA foreign_keys` is ignored in a txn;
|
|
142
|
+
// - postgres: no session toggle — drops use CASCADE and `truncateAll` uses
|
|
143
|
+
// `TRUNCATE … CASCADE`, so pg statements are already FK-safe.
|
|
144
|
+
const batch = [];
|
|
145
|
+
if (dialect === "sqlite") {
|
|
146
|
+
batch.push({ sql: "PRAGMA defer_foreign_keys = ON" });
|
|
147
|
+
}
|
|
148
|
+
batch.push(...statements);
|
|
149
|
+
if (db.runInTransaction) {
|
|
150
|
+
await db.runInTransaction(batch);
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
// No transaction support at all (a bare fake): best effort, single connection.
|
|
154
|
+
for (const stmt of batch) {
|
|
155
|
+
await db.execute(stmt.sql, stmt.params);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
//# sourceMappingURL=catalog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/schema/catalog.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAgC1C;;;GAGG;AACH,MAAM,gBAAgB,GAAG,OAAO,CAAC;AAiBjC,2EAA2E;AAC3E,MAAM,CAAC,KAAK,UAAU,cAAc,CACnC,EAAqB,EACrB,OAAqB,EACrB,UAA6B,EAAE;IAE/B,IAAI,GAAW,CAAC;IAChB,MAAM,MAAM,GAAc,EAAE,CAAC;IAC7B,QAAQ,OAAO,EAAE,CAAC;QACjB,KAAK,QAAQ;YACZ,GAAG;gBACF,gFAAgF,CAAC;YAClF,MAAM;QACP,KAAK,UAAU;YACd,sEAAsE;YACtE,wEAAwE;YACxE,0EAA0E;YAC1E,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnD,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAChE,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;gBAChC,GAAG,GAAG,gEAAgE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YAClG,CAAC;iBAAM,CAAC;gBACP,GAAG;oBACF,6EAA6E,CAAC;YAChF,CAAC;YACD,MAAM;QACP,KAAK,OAAO;YACX,uEAAuE;YACvE,iEAAiE;YACjE,GAAG;gBACF,sIAAsI,CAAC;YACxI,MAAM;IACR,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,KAAK,CAAoB,GAAG,EAAE,MAAM,CAAC,CAAC;IAC5D,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACxB,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;YAAE,SAAS;QAC3C,IACC,CAAC,OAAO,CAAC,sBAAsB;YAC/B,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,EACpC,CAAC;YACF,SAAS;QACV,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAChC,EAAqB,EACrB,OAAqB,EACrB,IAAY;IAEZ,MAAM,EAAE,GAAG,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;IAC/C,IAAI,GAAW,CAAC;IAChB,QAAQ,OAAO,EAAE,CAAC;QACjB,KAAK,QAAQ;YACZ,GAAG,GAAG,6DAA6D,EAAE,EAAE,CAAC;YACxE,MAAM;QACP,KAAK,UAAU;YACd,GAAG,GAAG,+EAA+E,EAAE,EAAE,CAAC;YAC1F,MAAM;QACP,KAAK,OAAO;YACX,GAAG,GAAG,4FAA4F,EAAE,gCAAgC,CAAC;YACrI,MAAM;IACR,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IACzC,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AACxB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CACjC,EAAqB,EACrB,OAAqB,EACrB,KAAa,EACb,MAAc;IAEd,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC1B,2EAA2E;QAC3E,6DAA6D;QAC7D,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,KAAK,CAC1B,mDAAmD,EACnD,CAAC,KAAK,EAAE,MAAM,CAAC,CACf,CAAC;QACF,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IACxB,CAAC;IACD,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACpE,MAAM,eAAe,GACpB,OAAO,KAAK,UAAU;QACrB,CAAC,CAAC,iCAAiC;QACnC,CAAC,CAAC,2BAA2B,CAAC;IAChC,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,KAAK,CAC1B,kDAAkD,eAAe,qBAAqB,EAAE,sBAAsB,EAAE,EAAE,EAClH,CAAC,KAAK,EAAE,MAAM,CAAC,CACf,CAAC;IACF,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AACxB,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAC1C,EAAqB,EACrB,OAAqB,EACrB,UAA8D;IAE9D,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAEpC,6EAA6E;IAC7E,6EAA6E;IAC7E,4EAA4E;IAC5E,6EAA6E;IAC7E,sEAAsE;IACtE,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;QACzB,4EAA4E;QAC5E,4EAA4E;QAC5E,wEAAwE;QACxE,0EAA0E;QAC1E,0EAA0E;QAC1E,0EAA0E;QAC1E,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;YACrB,MAAM,IAAI,UAAU,CACnB,iCAAiC,EACjC,0PAA0P,EAC1P;gBACC,IAAI,EAAE,2FAA2F;aACjG,CACD,CAAC;QACH,CAAC;QACD,MAAM,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAClC,IAAI,CAAC;gBACJ,MAAM,GAAG,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;gBAChD,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;oBAC/B,MAAM,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC1C,CAAC;YACF,CAAC;oBAAS,CAAC;gBACV,MAAM,GAAG,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;YACjD,CAAC;QACF,CAAC,CAAC,CAAC;QACH,OAAO;IACR,CAAC;IAED,wEAAwE;IACxE,4EAA4E;IAC5E,gBAAgB;IAChB,+EAA+E;IAC/E,4EAA4E;IAC5E,4EAA4E;IAC5E,iEAAiE;IACjE,MAAM,KAAK,GAA+C,EAAE,CAAC;IAC7D,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,gCAAgC,EAAE,CAAC,CAAC;IACvD,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;IAC1B,IAAI,EAAE,CAAC,gBAAgB,EAAE,CAAC;QACzB,MAAM,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACjC,OAAO;IACR,CAAC;IACD,+EAA+E;IAC/E,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QAC1B,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;AACF,CAAC"}
|
|
@@ -30,5 +30,5 @@ export interface IntrospectedColumn {
|
|
|
30
30
|
* Introspect one table. Returns its columns, or `null` when the table does not
|
|
31
31
|
* exist in the database (a distinct, reportable drift — not an error).
|
|
32
32
|
*/
|
|
33
|
-
export declare function introspectTable(db: SchemaIntrospectable, dialect: AtlasDialect, table: string): Promise<IntrospectedColumn[] | null>;
|
|
33
|
+
export declare function introspectTable(db: SchemaIntrospectable, dialect: AtlasDialect, table: string, schema?: string): Promise<IntrospectedColumn[] | null>;
|
|
34
34
|
//# sourceMappingURL=introspect.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"introspect.d.ts","sourceRoot":"","sources":["../../src/schema/introspect.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACpC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;CAC3E;AAED,wDAAwD;AACxD,MAAM,WAAW,kBAAkB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,gFAAgF;IAChF,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;CACpB;AAaD;;;GAGG;AACH,wBAAsB,eAAe,CACpC,EAAE,EAAE,oBAAoB,EACxB,OAAO,EAAE,YAAY,EACrB,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"introspect.d.ts","sourceRoot":"","sources":["../../src/schema/introspect.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACpC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;CAC3E;AAED,wDAAwD;AACxD,MAAM,WAAW,kBAAkB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,gFAAgF;IAChF,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;CACpB;AAaD;;;GAGG;AACH,wBAAsB,eAAe,CACpC,EAAE,EAAE,oBAAoB,EACxB,OAAO,EAAE,YAAY,EACrB,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,kBAAkB,EAAE,GAAG,IAAI,CAAC,CAWtC"}
|
|
@@ -19,15 +19,17 @@ function assertIdent(name) {
|
|
|
19
19
|
* Introspect one table. Returns its columns, or `null` when the table does not
|
|
20
20
|
* exist in the database (a distinct, reportable drift — not an error).
|
|
21
21
|
*/
|
|
22
|
-
export async function introspectTable(db, dialect, table) {
|
|
22
|
+
export async function introspectTable(db, dialect, table, schema) {
|
|
23
23
|
assertIdent(table);
|
|
24
|
+
if (schema !== undefined)
|
|
25
|
+
assertIdent(schema);
|
|
24
26
|
switch (dialect) {
|
|
25
27
|
case "sqlite":
|
|
26
28
|
return introspectSqlite(db, table);
|
|
27
29
|
case "postgres":
|
|
28
|
-
return introspectPostgres(db, table);
|
|
30
|
+
return introspectPostgres(db, table, schema);
|
|
29
31
|
case "mysql":
|
|
30
|
-
return introspectMysql(db, table);
|
|
32
|
+
return introspectMysql(db, table, schema);
|
|
31
33
|
}
|
|
32
34
|
}
|
|
33
35
|
async function introspectSqlite(db, table) {
|
|
@@ -42,11 +44,14 @@ async function introspectSqlite(db, table) {
|
|
|
42
44
|
primaryKey: Number(r.pk) > 0,
|
|
43
45
|
}));
|
|
44
46
|
}
|
|
45
|
-
async function introspectPostgres(db, table) {
|
|
47
|
+
async function introspectPostgres(db, table, schema) {
|
|
48
|
+
// Target a specific schema when given (Lucid `schemas`), else the current one.
|
|
49
|
+
const schemaPred = schema ? "$2" : "current_schema()";
|
|
50
|
+
const args = schema ? [table, schema] : [table];
|
|
46
51
|
const cols = await db.query(`SELECT column_name, data_type, is_nullable, column_default
|
|
47
52
|
FROM information_schema.columns
|
|
48
|
-
WHERE table_schema =
|
|
49
|
-
ORDER BY ordinal_position`,
|
|
53
|
+
WHERE table_schema = ${schemaPred} AND table_name = $1
|
|
54
|
+
ORDER BY ordinal_position`, args);
|
|
50
55
|
if (cols.length === 0)
|
|
51
56
|
return null;
|
|
52
57
|
const pkRows = await db.query(`SELECT kcu.column_name
|
|
@@ -54,7 +59,8 @@ async function introspectPostgres(db, table) {
|
|
|
54
59
|
JOIN information_schema.key_column_usage kcu
|
|
55
60
|
ON kcu.constraint_name = tc.constraint_name
|
|
56
61
|
AND kcu.table_schema = tc.table_schema
|
|
57
|
-
WHERE tc.table_name = $1 AND tc.constraint_type = 'PRIMARY KEY'
|
|
62
|
+
WHERE tc.table_name = $1 AND tc.constraint_type = 'PRIMARY KEY'
|
|
63
|
+
AND tc.table_schema = ${schemaPred}`, args);
|
|
58
64
|
const pks = new Set(pkRows.map((r) => String(r.column_name)));
|
|
59
65
|
return cols.map((r) => ({
|
|
60
66
|
name: String(r.column_name),
|
|
@@ -64,11 +70,20 @@ async function introspectPostgres(db, table) {
|
|
|
64
70
|
primaryKey: pks.has(String(r.column_name)),
|
|
65
71
|
}));
|
|
66
72
|
}
|
|
67
|
-
async function introspectMysql(db, table) {
|
|
68
|
-
|
|
73
|
+
async function introspectMysql(db, table, schema) {
|
|
74
|
+
// In MySQL a "schema" IS a database; target it when given, else DATABASE().
|
|
75
|
+
const schemaPred = schema ? "?" : "DATABASE()";
|
|
76
|
+
const args = schema ? [schema, table] : [table];
|
|
77
|
+
// CAST the identifier/enum columns to CHAR: MySQL returns information_schema
|
|
78
|
+
// text as binary (Uint8Array), which `String(...)` would turn into byte lists.
|
|
79
|
+
const rows = await db.query(`SELECT CAST(column_name AS CHAR) AS column_name,
|
|
80
|
+
CAST(data_type AS CHAR) AS data_type,
|
|
81
|
+
CAST(is_nullable AS CHAR) AS is_nullable,
|
|
82
|
+
column_default,
|
|
83
|
+
CAST(column_key AS CHAR) AS column_key
|
|
69
84
|
FROM information_schema.columns
|
|
70
|
-
WHERE table_schema =
|
|
71
|
-
ORDER BY ordinal_position`,
|
|
85
|
+
WHERE table_schema = ${schemaPred} AND table_name = ?
|
|
86
|
+
ORDER BY ordinal_position`, args);
|
|
72
87
|
if (rows.length === 0)
|
|
73
88
|
return null;
|
|
74
89
|
return rows.map((r) => ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"introspect.js","sourceRoot":"","sources":["../../src/schema/introspect.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAuBH,yDAAyD;AACzD,MAAM,KAAK,GAAG,0BAA0B,CAAC;AAEzC,SAAS,WAAW,CAAC,IAAY;IAChC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CACd,iEAAiE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CACvF,CAAC;IACH,CAAC;AACF,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACpC,EAAwB,EACxB,OAAqB,EACrB,KAAa;
|
|
1
|
+
{"version":3,"file":"introspect.js","sourceRoot":"","sources":["../../src/schema/introspect.ts"],"names":[],"mappings":"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"}
|
package/dist/schema/types.d.ts
CHANGED
|
@@ -2,9 +2,16 @@
|
|
|
2
2
|
* Shared schema types — column type names, definitions, and the
|
|
3
3
|
* mapping from logical TS types to the Rust ColumnTypeKind.
|
|
4
4
|
*/
|
|
5
|
-
export type ColumnType = "string" | "text" | "integer" | "bigInteger" | "decimal" | "boolean" | "date" | "timestamp" | "timestamptz" | "uuid" | "json" | "binary";
|
|
5
|
+
export type ColumnType = "string" | "text" | "mediumtext" | "longtext" | "integer" | "tinyint" | "smallint" | "mediumint" | "bigInteger" | "decimal" | "float" | "double" | "boolean" | "date" | "time" | "timestamp" | "timestamptz" | "uuid" | "json" | "jsonb" | "binary" | "enum" | "specificType";
|
|
6
6
|
/** Maps our logical type names to the ColumnTypeKind expected by the Rust compiler. */
|
|
7
7
|
export declare const TYPE_KIND_MAP: Record<ColumnType, string>;
|
|
8
|
+
/** MySQL text width (Lucid/Knex `text(name, textType)`). `TEXT` on pg/sqlite. */
|
|
9
|
+
export type TextVariant = "text" | "mediumtext" | "longtext";
|
|
10
|
+
/**
|
|
11
|
+
* SQL referential action for a foreign key's `ON DELETE` / `ON UPDATE`
|
|
12
|
+
* (Lucid parity). Validated case-insensitively by the Rust compiler.
|
|
13
|
+
*/
|
|
14
|
+
export type ReferentialAction = "cascade" | "restrict" | "set null" | "set default" | "no action";
|
|
8
15
|
export interface ColumnDefinition {
|
|
9
16
|
name: string;
|
|
10
17
|
type: ColumnType;
|
|
@@ -16,10 +23,28 @@ export interface ColumnDefinition {
|
|
|
16
23
|
/** Dialect-appropriate auto-increment / identity column (Lucid `increments`). Implies primary key. */
|
|
17
24
|
autoIncrement?: boolean;
|
|
18
25
|
unique: boolean;
|
|
26
|
+
/** MySQL `UNSIGNED` numeric modifier (Lucid `unsigned()`). No-op on pg/sqlite. */
|
|
27
|
+
unsigned?: boolean;
|
|
28
|
+
/** Allowed values for an `enum` column. */
|
|
29
|
+
values?: string[];
|
|
30
|
+
/**
|
|
31
|
+
* Verbatim SQL type for a `specificType` column. Validated by the Rust
|
|
32
|
+
* compiler against a narrow grammar before it reaches DDL — it is
|
|
33
|
+
* interpolated, not bound.
|
|
34
|
+
*/
|
|
35
|
+
rawType?: string;
|
|
36
|
+
/** Column comment. Inline on MySQL, `COMMENT ON COLUMN` on pg, dropped on SQLite. */
|
|
37
|
+
comment?: string;
|
|
38
|
+
/** Column collation, e.g. `utf8mb4_unicode_ci`. Validated as an identifier. */
|
|
39
|
+
collate?: string;
|
|
40
|
+
/** MySQL-only placement of an added column (`FIRST` / `AFTER col`). */
|
|
41
|
+
position?: ColumnPosition;
|
|
19
42
|
defaultValue?: string;
|
|
20
43
|
references?: {
|
|
21
44
|
table: string;
|
|
22
45
|
column: string;
|
|
46
|
+
onDelete?: ReferentialAction;
|
|
47
|
+
onUpdate?: ReferentialAction;
|
|
23
48
|
};
|
|
24
49
|
}
|
|
25
50
|
export interface IndexDefinition {
|
|
@@ -27,4 +52,128 @@ export interface IndexDefinition {
|
|
|
27
52
|
columns: string[];
|
|
28
53
|
unique: boolean;
|
|
29
54
|
}
|
|
55
|
+
/** MySQL-only placement of an added column. Mirrors the Rust `ColumnPosition`. */
|
|
56
|
+
export type ColumnPosition = {
|
|
57
|
+
at: "first";
|
|
58
|
+
} | {
|
|
59
|
+
at: "after";
|
|
60
|
+
column: string;
|
|
61
|
+
};
|
|
62
|
+
/** A scalar a CHECK constraint can compare against. DDL cannot bind params — these are quoted, not bound. */
|
|
63
|
+
export type CheckValue = string | number | boolean | null;
|
|
64
|
+
/**
|
|
65
|
+
* A CHECK predicate. Structured rather than free-form SQL so each variant is
|
|
66
|
+
* safe by construction; `raw` is the escape hatch and is exactly as trusted as
|
|
67
|
+
* `schema.raw()`. Mirrors the Rust `CheckExpr` tagged union.
|
|
68
|
+
*/
|
|
69
|
+
export type CheckExpression = {
|
|
70
|
+
check: "positive";
|
|
71
|
+
column: string;
|
|
72
|
+
} | {
|
|
73
|
+
check: "negative";
|
|
74
|
+
column: string;
|
|
75
|
+
} | {
|
|
76
|
+
check: "in";
|
|
77
|
+
column: string;
|
|
78
|
+
values: CheckValue[];
|
|
79
|
+
} | {
|
|
80
|
+
check: "notIn";
|
|
81
|
+
column: string;
|
|
82
|
+
values: CheckValue[];
|
|
83
|
+
} | {
|
|
84
|
+
check: "between";
|
|
85
|
+
column: string;
|
|
86
|
+
ranges: CheckValue[][];
|
|
87
|
+
} | {
|
|
88
|
+
check: "length";
|
|
89
|
+
column: string;
|
|
90
|
+
operator: string;
|
|
91
|
+
length: number;
|
|
92
|
+
} | {
|
|
93
|
+
check: "regex";
|
|
94
|
+
column: string;
|
|
95
|
+
pattern: string;
|
|
96
|
+
} | {
|
|
97
|
+
check: "raw";
|
|
98
|
+
predicate: string;
|
|
99
|
+
};
|
|
100
|
+
/** Comparison operator accepted by `checkLength` (Lucid/Knex). */
|
|
101
|
+
export type CheckOperator = "=" | "!=" | "<>" | "<" | "<=" | ">" | ">=";
|
|
102
|
+
/** A multi-column foreign key target. Mirrors the Rust `ForeignKeyRefMulti`. */
|
|
103
|
+
export interface ForeignKeyReference {
|
|
104
|
+
table: string;
|
|
105
|
+
columns: string[];
|
|
106
|
+
onDelete?: ReferentialAction;
|
|
107
|
+
onUpdate?: ReferentialAction;
|
|
108
|
+
}
|
|
109
|
+
/** A table-level constraint. Mirrors the Rust `TableConstraint` tagged union. */
|
|
110
|
+
export type TableConstraintSpec = {
|
|
111
|
+
constraint: "primary";
|
|
112
|
+
name?: string;
|
|
113
|
+
columns: string[];
|
|
114
|
+
} | {
|
|
115
|
+
constraint: "unique";
|
|
116
|
+
name?: string;
|
|
117
|
+
columns: string[];
|
|
118
|
+
} | {
|
|
119
|
+
constraint: "foreign";
|
|
120
|
+
name?: string;
|
|
121
|
+
columns: string[];
|
|
122
|
+
references: ForeignKeyReference;
|
|
123
|
+
} | {
|
|
124
|
+
constraint: "check";
|
|
125
|
+
name?: string;
|
|
126
|
+
expr: CheckExpression;
|
|
127
|
+
};
|
|
128
|
+
/** Storage options for `CREATE TABLE`. Mirrors the Rust `TableOptions`. */
|
|
129
|
+
export interface TableOptionsSpec {
|
|
130
|
+
engine?: string;
|
|
131
|
+
charset?: string;
|
|
132
|
+
collate?: string;
|
|
133
|
+
comment?: string;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* One ALTER TABLE operation, in call order (Lucid/Knex semantics). Mirrors the
|
|
137
|
+
* Rust `AlterOp` tagged union — the `op` tags and field names are the wire
|
|
138
|
+
* contract with `compile_alter_table`.
|
|
139
|
+
*/
|
|
140
|
+
export type AlterOperation = {
|
|
141
|
+
op: "addColumn";
|
|
142
|
+
column: ColumnDefinition;
|
|
143
|
+
} | {
|
|
144
|
+
op: "dropColumn";
|
|
145
|
+
name: string;
|
|
146
|
+
} | {
|
|
147
|
+
op: "renameColumn";
|
|
148
|
+
from: string;
|
|
149
|
+
to: string;
|
|
150
|
+
} | {
|
|
151
|
+
op: "alterColumn";
|
|
152
|
+
column: ColumnDefinition;
|
|
153
|
+
/**
|
|
154
|
+
* Tri-state. `undefined` leaves nullability untouched so a bare type
|
|
155
|
+
* change never silently adds a NOT NULL — only an explicit
|
|
156
|
+
* `.nullable()` / `.notNullable()` before `.alter()` sets it.
|
|
157
|
+
*/
|
|
158
|
+
setNullable?: boolean;
|
|
159
|
+
} | {
|
|
160
|
+
op: "setNullable";
|
|
161
|
+
name: string;
|
|
162
|
+
nullable: boolean;
|
|
163
|
+
} | {
|
|
164
|
+
op: "addConstraint";
|
|
165
|
+
constraint: TableConstraintSpec;
|
|
166
|
+
} | {
|
|
167
|
+
op: "dropConstraint";
|
|
168
|
+
name: string;
|
|
169
|
+
} | {
|
|
170
|
+
op: "dropPrimary";
|
|
171
|
+
name?: string;
|
|
172
|
+
} | {
|
|
173
|
+
op: "dropUnique";
|
|
174
|
+
name: string;
|
|
175
|
+
} | {
|
|
176
|
+
op: "dropForeign";
|
|
177
|
+
name: string;
|
|
178
|
+
};
|
|
30
179
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/schema/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,UAAU,GACnB,QAAQ,GACR,MAAM,GACN,SAAS,GACT,YAAY,GACZ,SAAS,GACT,SAAS,GACT,MAAM,GACN,WAAW,GACX,aAAa,GACb,MAAM,GACN,MAAM,GACN,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/schema/types.ts"],"names":[],"mappings":"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"}
|
package/dist/schema/types.js
CHANGED
|
@@ -6,15 +6,26 @@
|
|
|
6
6
|
export const TYPE_KIND_MAP = {
|
|
7
7
|
string: "string",
|
|
8
8
|
text: "text",
|
|
9
|
+
mediumtext: "mediumText",
|
|
10
|
+
longtext: "longText",
|
|
9
11
|
integer: "integer",
|
|
12
|
+
tinyint: "tinyInt",
|
|
13
|
+
smallint: "smallInt",
|
|
14
|
+
mediumint: "mediumInt",
|
|
10
15
|
bigInteger: "bigInteger",
|
|
11
16
|
decimal: "decimal",
|
|
17
|
+
float: "float",
|
|
18
|
+
double: "double",
|
|
12
19
|
boolean: "boolean",
|
|
13
20
|
date: "date",
|
|
21
|
+
time: "time",
|
|
14
22
|
timestamp: "timestamp",
|
|
15
23
|
timestamptz: "timestamptz",
|
|
16
24
|
uuid: "uuid",
|
|
17
25
|
json: "json",
|
|
26
|
+
jsonb: "jsonb",
|
|
18
27
|
binary: "binary",
|
|
28
|
+
enum: "enum",
|
|
29
|
+
specificType: "specificType",
|
|
19
30
|
};
|
|
20
31
|
//# sourceMappingURL=types.js.map
|
package/dist/schema/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/schema/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/schema/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA2BH,uFAAuF;AACvF,MAAM,CAAC,MAAM,aAAa,GAA+B;IACxD,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,UAAU,EAAE,YAAY;IACxB,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;IACtB,UAAU,EAAE,YAAY;IACxB,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,SAAS,EAAE,WAAW;IACtB,WAAW,EAAE,aAAa;IAC1B,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,YAAY,EAAE,cAAc;CAC5B,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@c9up/atlas/seeders` — Adonis Lucid seeders parity subpath. The `BaseSeeder`
|
|
3
|
+
* base class plus the runners and the `make:seeder` / `db:seed` console commands.
|
|
4
|
+
*/
|
|
5
|
+
export { dbSeedCommand, makeSeederCommand, type SeederCommandOptions, } from "./console/seederCommands.js";
|
|
6
|
+
export { BaseSeeder, runSeederDirectory, runSeeders, Seeder, } from "./schema/Seeder.js";
|
|
7
|
+
//# sourceMappingURL=seeders.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"seeders.d.ts","sourceRoot":"","sources":["../src/seeders.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACN,aAAa,EACb,iBAAiB,EACjB,KAAK,oBAAoB,GACzB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACN,UAAU,EACV,kBAAkB,EAClB,UAAU,EACV,MAAM,GACN,MAAM,oBAAoB,CAAC"}
|