@c9up/atlas 0.3.4 → 0.3.6

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 (37) hide show
  1. package/db.win32-x64-msvc.node +0 -0
  2. package/dist/AtlasProvider.d.ts +53 -16
  3. package/dist/AtlasProvider.d.ts.map +1 -1
  4. package/dist/AtlasProvider.js +10 -3
  5. package/dist/AtlasProvider.js.map +1 -1
  6. package/dist/adapters/NapiDbAdapter.d.ts.map +1 -1
  7. package/dist/adapters/NapiDbAdapter.js +34 -4
  8. package/dist/adapters/NapiDbAdapter.js.map +1 -1
  9. package/dist/configure.d.ts +1 -0
  10. package/dist/configure.d.ts.map +1 -1
  11. package/dist/configure.js +12 -1
  12. package/dist/configure.js.map +1 -1
  13. package/dist/console/index.d.ts +39 -0
  14. package/dist/console/index.d.ts.map +1 -0
  15. package/dist/console/index.js +144 -0
  16. package/dist/console/index.js.map +1 -0
  17. package/dist/console/migrationCommands.d.ts +12 -0
  18. package/dist/console/migrationCommands.d.ts.map +1 -1
  19. package/dist/console/migrationCommands.js +5 -0
  20. package/dist/console/migrationCommands.js.map +1 -1
  21. package/dist/console/schemaCheckCommand.d.ts +7 -5
  22. package/dist/console/schemaCheckCommand.d.ts.map +1 -1
  23. package/dist/console/schemaCheckCommand.js +16 -5
  24. package/dist/console/schemaCheckCommand.js.map +1 -1
  25. package/dist/services/db.d.ts +24 -1
  26. package/dist/services/db.d.ts.map +1 -1
  27. package/dist/services/db.js +66 -0
  28. package/dist/services/db.js.map +1 -1
  29. package/index.win32-x64-msvc.node +0 -0
  30. package/package.json +5 -1
  31. package/src/AtlasProvider.ts +66 -19
  32. package/src/adapters/NapiDbAdapter.ts +37 -4
  33. package/src/configure.ts +13 -1
  34. package/src/console/index.ts +202 -0
  35. package/src/console/migrationCommands.ts +17 -0
  36. package/src/console/schemaCheckCommand.ts +19 -6
  37. package/src/services/db.ts +84 -1
@@ -1 +1 @@
1
- {"version":3,"file":"migrationCommands.d.ts","sourceRoot":"","sources":["../../src/console/migrationCommands.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAWH,OAAO,EAAE,KAAK,iBAAiB,EAAkB,MAAM,eAAe,CAAC;AACvE,OAAO,EAEN,KAAK,qBAAqB,EAC1B,MAAM,4BAA4B,CAAC;AAEpC,MAAM,WAAW,uBAAuB;IACvC,sDAAsD;IACtD,aAAa,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,qBAAqB,CAAC;IACzC;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB;AA+CD,uDAAuD;AACvD,wBAAgB,mBAAmB,CAClC,OAAO,EAAE,uBAAuB,GAC9B,iBAAiB,CAuBnB;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACvC,OAAO,EAAE,uBAAuB,GAC9B,iBAAiB,CAuCnB;AAED,2EAA2E;AAC3E,wBAAgB,sBAAsB,CACrC,OAAO,EAAE,uBAAuB,GAC9B,iBAAiB,CAoBnB;AAED,6DAA6D;AAC7D,wBAAgB,qBAAqB,CACpC,OAAO,EAAE,uBAAuB,GAC9B,iBAAiB,CAuBnB;AAED,0FAA0F;AAC1F,wBAAgB,sBAAsB,CACrC,OAAO,EAAE,uBAAuB,GAC9B,iBAAiB,CAenB;AAED,kGAAkG;AAClG,wBAAgB,qBAAqB,CACpC,OAAO,EAAE,uBAAuB,GAC9B,iBAAiB,CA2BnB;AAED,8EAA8E;AAC9E,wBAAgB,uBAAuB,CACtC,OAAO,EAAE,uBAAuB,GAC9B,iBAAiB,CAqBnB;AAED,gFAAgF;AAChF,wBAAgB,aAAa,CAC5B,OAAO,EAAE,uBAAuB,GAC9B,iBAAiB,CAiBnB;AAkBD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CACnC,OAAO,EAAE,uBAAuB,GAC9B,iBAAiB,CA2BnB"}
1
+ {"version":3,"file":"migrationCommands.d.ts","sourceRoot":"","sources":["../../src/console/migrationCommands.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAWH,OAAO,EAAE,KAAK,iBAAiB,EAAkB,MAAM,eAAe,CAAC;AACvE,OAAO,EAEN,KAAK,qBAAqB,EAC1B,MAAM,4BAA4B,CAAC;AAEpC,MAAM,WAAW,uBAAuB;IACvC,sDAAsD;IACtD,aAAa,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,qBAAqB,CAAC;IACzC;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,4BAA4B,CAAC,EAAE,OAAO,CAAC;CACvC;AAoDD,uDAAuD;AACvD,wBAAgB,mBAAmB,CAClC,OAAO,EAAE,uBAAuB,GAC9B,iBAAiB,CAuBnB;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACvC,OAAO,EAAE,uBAAuB,GAC9B,iBAAiB,CAuCnB;AAED,2EAA2E;AAC3E,wBAAgB,sBAAsB,CACrC,OAAO,EAAE,uBAAuB,GAC9B,iBAAiB,CAoBnB;AAED,6DAA6D;AAC7D,wBAAgB,qBAAqB,CACpC,OAAO,EAAE,uBAAuB,GAC9B,iBAAiB,CAuBnB;AAED,0FAA0F;AAC1F,wBAAgB,sBAAsB,CACrC,OAAO,EAAE,uBAAuB,GAC9B,iBAAiB,CAenB;AAED,kGAAkG;AAClG,wBAAgB,qBAAqB,CACpC,OAAO,EAAE,uBAAuB,GAC9B,iBAAiB,CA2BnB;AAED,8EAA8E;AAC9E,wBAAgB,uBAAuB,CACtC,OAAO,EAAE,uBAAuB,GAC9B,iBAAiB,CAqBnB;AAED,gFAAgF;AAChF,wBAAgB,aAAa,CAC5B,OAAO,EAAE,uBAAuB,GAC9B,iBAAiB,CAiBnB;AAkBD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CACnC,OAAO,EAAE,uBAAuB,GAC9B,iBAAiB,CA2BnB"}
@@ -61,6 +61,11 @@ function resolveRunner(options) {
61
61
  dialect: db.dialect,
62
62
  naturalSort: options.naturalSort,
63
63
  disableTransactions: options.disableTransactions,
64
+ // Without the table name the runner falls back to its default while the
65
+ // application tracks migrations in the configured one — the command would
66
+ // then see an empty history and re-apply everything.
67
+ tableName: options.tableName,
68
+ disableRollbacksInProduction: options.disableRollbacksInProduction,
64
69
  });
65
70
  }
66
71
  /** `migration:run` — apply every pending migration. */
@@ -1 +1 @@
1
- {"version":3,"file":"migrationCommands.js","sourceRoot":"","sources":["../../src/console/migrationCommands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"migrationCommands.js","sourceRoot":"","sources":["../../src/console/migrationCommands.ts"],"names":[],"mappings":"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"}
@@ -14,10 +14,12 @@ import { type AtlasCommandClass } from "./contract.js";
14
14
  type Constructor = new (...args: unknown[]) => unknown;
15
15
  export type { AtlasCommandClass } from "./contract.js";
16
16
  /**
17
- * Build the `atlas:check` command for the given models. Register it in
18
- * `reamrc.commands` (atlas has no global entity registry — list your models,
19
- * as in Lucid). Run it as `ream atlas:check`; `--warn` reports drift without a
20
- * non-zero exit (useful for an advisory CI step).
17
+ * Build the `atlas:check` command for the given models.
18
+ *
19
+ * Most applications do not call this: `@c9up/atlas/commands` ships the command
20
+ * already, reading the models from `verifySchema.entities`. Call it directly to
21
+ * verify a different set — pass a function when the list is only known once the
22
+ * application has booted.
21
23
  *
22
24
  * @example
23
25
  * // commands/atlas-check.ts
@@ -27,5 +29,5 @@ export type { AtlasCommandClass } from "./contract.js";
27
29
  *
28
30
  * // run: ream atlas:check --warn
29
31
  */
30
- export declare function schemaCheckCommand(entities: readonly Constructor[]): AtlasCommandClass;
32
+ export declare function schemaCheckCommand(entities: readonly Constructor[] | (() => readonly Constructor[])): AtlasCommandClass;
31
33
  //# sourceMappingURL=schemaCheckCommand.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schemaCheckCommand.d.ts","sourceRoot":"","sources":["../../src/console/schemaCheckCommand.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,OAAO,EAAE,KAAK,iBAAiB,EAAQ,MAAM,eAAe,CAAC;AAE7D,KAAK,WAAW,GAAG,KAAK,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC;AAEvD,YAAY,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEvD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CACjC,QAAQ,EAAE,SAAS,WAAW,EAAE,GAC9B,iBAAiB,CA2BnB"}
1
+ {"version":3,"file":"schemaCheckCommand.d.ts","sourceRoot":"","sources":["../../src/console/schemaCheckCommand.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,OAAO,EAAE,KAAK,iBAAiB,EAAQ,MAAM,eAAe,CAAC;AAE7D,KAAK,WAAW,GAAG,KAAK,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC;AAEvD,YAAY,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEvD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,CACjC,QAAQ,EAAE,SAAS,WAAW,EAAE,GAAG,CAAC,MAAM,SAAS,WAAW,EAAE,CAAC,GAC/D,iBAAiB,CAsCnB"}
@@ -15,10 +15,12 @@ import { runSchemaCheck } from "../schema/SchemaCheck.js";
15
15
  import { getDb } from "../services/db.js";
16
16
  import { flag } from "./contract.js";
17
17
  /**
18
- * Build the `atlas:check` command for the given models. Register it in
19
- * `reamrc.commands` (atlas has no global entity registry — list your models,
20
- * as in Lucid). Run it as `ream atlas:check`; `--warn` reports drift without a
21
- * non-zero exit (useful for an advisory CI step).
18
+ * Build the `atlas:check` command for the given models.
19
+ *
20
+ * Most applications do not call this: `@c9up/atlas/commands` ships the command
21
+ * already, reading the models from `verifySchema.entities`. Call it directly to
22
+ * verify a different set — pass a function when the list is only known once the
23
+ * application has booted.
22
24
  *
23
25
  * @example
24
26
  * // commands/atlas-check.ts
@@ -45,7 +47,16 @@ export function schemaCheckCommand(entities) {
45
47
  process.exitCode = 1;
46
48
  return;
47
49
  }
48
- const code = await runSchemaCheck(entities, db, getAtlasDialect());
50
+ // Resolved here, not at registration: the shipped command reads the
51
+ // models from `verifySchema.entities`, which only exists once the
52
+ // application has booted its config.
53
+ const models = typeof entities === "function" ? entities() : entities;
54
+ if (models.length === 0) {
55
+ console.error("[atlas:check] no models to verify — list them under `verifySchema.entities` in config/database.ts.");
56
+ process.exitCode = 1;
57
+ return;
58
+ }
59
+ const code = await runSchemaCheck(models, db, getAtlasDialect());
49
60
  // `--warn` downgrades drift to advisory (exit 0); default fails CI.
50
61
  if (code !== 0 && !this.warn)
51
62
  process.exitCode = code;
@@ -1 +1 @@
1
- {"version":3,"file":"schemaCheckCommand.js","sourceRoot":"","sources":["../../src/console/schemaCheckCommand.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAA0B,IAAI,EAAE,MAAM,eAAe,CAAC;AAM7D;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,kBAAkB,CACjC,QAAgC;IAEhC,OAAO,MAAM,WAAW;QACvB,MAAM,CAAC,WAAW,GAAG,aAAa,CAAC;QACnC,MAAM,CAAC,WAAW,GAAG,8CAA8C,CAAC;QACpE,MAAM,CAAC,OAAO,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACpC,MAAM,CAAC,KAAK,GAAG;YACd,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE;gBACvB,WAAW,EAAE,uCAAuC;aACpD,CAAC;SACF,CAAC;QAIF,KAAK,CAAC,GAAG;YACR,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YACnB,IAAI,CAAC,EAAE,EAAE,CAAC;gBACT,OAAO,CAAC,KAAK,CACZ,qEAAqE,CACrE,CAAC;gBACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACrB,OAAO;YACR,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,QAAQ,EAAE,EAAE,EAAE,eAAe,EAAE,CAAC,CAAC;YACnE,oEAAoE;YACpE,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;gBAAE,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvD,CAAC;KACD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"schemaCheckCommand.js","sourceRoot":"","sources":["../../src/console/schemaCheckCommand.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAA0B,IAAI,EAAE,MAAM,eAAe,CAAC;AAM7D;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,kBAAkB,CACjC,QAAiE;IAEjE,OAAO,MAAM,WAAW;QACvB,MAAM,CAAC,WAAW,GAAG,aAAa,CAAC;QACnC,MAAM,CAAC,WAAW,GAAG,8CAA8C,CAAC;QACpE,MAAM,CAAC,OAAO,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACpC,MAAM,CAAC,KAAK,GAAG;YACd,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE;gBACvB,WAAW,EAAE,uCAAuC;aACpD,CAAC;SACF,CAAC;QAIF,KAAK,CAAC,GAAG;YACR,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YACnB,IAAI,CAAC,EAAE,EAAE,CAAC;gBACT,OAAO,CAAC,KAAK,CACZ,qEAAqE,CACrE,CAAC;gBACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACrB,OAAO;YACR,CAAC;YACD,oEAAoE;YACpE,kEAAkE;YAClE,qCAAqC;YACrC,MAAM,MAAM,GAAG,OAAO,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;YACtE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,OAAO,CAAC,KAAK,CACZ,oGAAoG,CACpG,CAAC;gBACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACrB,OAAO;YACR,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,MAAM,EAAE,EAAE,EAAE,eAAe,EAAE,CAAC,CAAC;YACjE,oEAAoE;YACpE,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;gBAAE,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvD,CAAC;KACD,CAAC;AACH,CAAC"}
@@ -12,7 +12,7 @@
12
12
  * swap in a custom `AsyncDatabaseConnection` through the provider's
13
13
  * container hooks).
14
14
  */
15
- import type { ConnectionConfig } from "../AtlasProvider.js";
15
+ import type { AtlasDatabaseConfig, ConnectionConfig } from "../AtlasProvider.js";
16
16
  import type { AsyncDatabaseConnection } from "../adapters/NapiDbAdapter.js";
17
17
  import { ConnectionManager } from "../ConnectionManager.js";
18
18
  import { DatabaseQueryBuilder, type QueryExecutor } from "../query/DatabaseQueryBuilder.js";
@@ -146,6 +146,29 @@ export declare function setDb(connection: AsyncDatabaseConnection): void;
146
146
  export declare function clearDb(connection: AsyncDatabaseConnection): void;
147
147
  /** @internal Read the singleton (or `undefined` pre-boot). */
148
148
  export declare function getDb(): AsyncDatabaseConnection | undefined;
149
+ /** @internal Record the booted config (called by AtlasProvider). */
150
+ export declare function setDatabaseConfig(config: AtlasDatabaseConfig, defaultName: string): void;
151
+ /**
152
+ * @internal Forget the config IF it is still the one `config` describes.
153
+ * Ownership-guarded for the same reason {@link clearDb} is: a second provider
154
+ * may have rebound it, and the older provider's shutdown must not clear the
155
+ * newer binding.
156
+ */
157
+ export declare function clearDatabaseConfig(config: AtlasDatabaseConfig): void;
158
+ /** The config the application booted with, or `undefined` before boot. */
159
+ export declare function getDatabaseConfig(): AtlasDatabaseConfig | undefined;
160
+ /** The default connection's name — Lucid `db.primaryConnectionName`. */
161
+ export declare function primaryConnectionName(): string;
162
+ /**
163
+ * One connection's config, by name (default connection when unnamed).
164
+ *
165
+ * Read from the manager's node first — that is where Lucid keeps `migrations`,
166
+ * `seeders` and `schemaGeneration`, and the shape we mirror. The top level is
167
+ * the fallback, because the single-connection form IS the connection config,
168
+ * and because an app that set `migrations` there before these keys were
169
+ * per-connection must keep working.
170
+ */
171
+ export declare function connectionConfigFor(name?: string): ConnectionConfig;
149
172
  /**
150
173
  * @internal Register an already-open named connection (called by AtlasProvider,
151
174
  * which opens connections itself). Records the config on the node too.
@@ -1 +1 @@
1
- {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/services/db.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EACN,oBAAoB,EACpB,KAAK,aAAa,EAClB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EACN,eAAe,EAEf,MAAM,6BAA6B,CAAC;AAGrC,gEAAgE;AAChE,MAAM,WAAW,cAAc;IAC9B,iFAAiF;IACjF,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,oFAAoF;IACpF,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,mFAAmF;AACnF,MAAM,WAAW,iBAAiB;IACjC;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;;GAKG;AACH,MAAM,WAAW,SAAS;IACzB,kFAAkF;IAClF,KAAK,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,oBAAoB,CAAC;IACtD,0EAA0E;IAC1E,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,oBAAoB,CAAC;IAC1C;;;OAGG;IACH,IAAI,CACH,QAAQ,EAAE,oBAAoB,GAAG,CAAC,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,CAAC,EACxE,KAAK,CAAC,EAAE,MAAM,GACZ,oBAAoB,CAAC;IACxB,kFAAkF;IAClF,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,oBAAoB,CAAC;IAC3C,yEAAyE;IACzE,WAAW,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,oBAAoB,CAAC;IAC5D;;;;OAIG;IACH,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5C,eAAe,CAAC,CAAC,CAAC,CAAC;IACtB;;;;;OAKG;IACH,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;IAClE;;;OAGG;IACH,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE;QAAE,KAAK,IAAI,CAAC,CAAA;KAAE,GAAG,CAAC,CAAC;IACxC;;;;;;;OAOG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC;IACvE;;;;OAIG;IACH,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,gEAAgE;IAChE,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5E,kFAAkF;IAClF,WAAW,EAAE,uBAAuB,CAAC,aAAa,CAAC,CAAC;IACpD,gCAAgC;IAChC,gBAAgB,EAAE,uBAAuB,CAAC,kBAAkB,CAAC,CAAC;IAC9D;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D;;;;OAIG;IACH,iBAAiB,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE;;;;;;;;;;;;OAYG;IACH,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACxD,qFAAqF;IACrF,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5D,0FAA0F;IAC1F,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;IACpC,sCAAsC;IACtC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AAID,8DAA8D;AAC9D,wBAAgB,KAAK,CAAC,UAAU,EAAE,uBAAuB,GAAG,IAAI,CAE/D;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,UAAU,EAAE,uBAAuB,GAAG,IAAI,CAEjE;AAED,8DAA8D;AAC9D,wBAAgB,KAAK,IAAI,uBAAuB,GAAG,SAAS,CAE3D;AAOD;;;GAGG;AACH,wBAAgB,kBAAkB,CACjC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,uBAAuB,EACnC,MAAM,GAAE,gBAAqB,GAC3B,IAAI,CAEN;AAED,6FAA6F;AAC7F,wBAAgB,oBAAoB,CACnC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,uBAAuB,GACjC,IAAI,CAEN;AAED,8FAA8F;AAC9F,wBAAgB,aAAa,CAC5B,IAAI,EAAE,MAAM,GACV,uBAAuB,GAAG,SAAS,CAErC;AAED,8FAA8F;AAC9F,wBAAgB,iBAAiB,IAAI,iBAAiB,CAErD;AAmCD,iFAAiF;AACjF,wBAAgB,eAAe,CAC9B,OAAO,EAAE,MAAM,uBAAuB,EACtC,QAAQ,UAAQ,GACd,SAAS,CA4JX;AAED,QAAA,MAAM,EAAE,EAAE,SAUR,CAAC;AAEH,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/services/db.ts"],"names":[],"mappings":"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"}
@@ -36,6 +36,72 @@ export function clearDb(connection) {
36
36
  export function getDb() {
37
37
  return instance;
38
38
  }
39
+ // The config the provider booted with. Commands need it: `migration:run` has to
40
+ // know where the migration files are, and Lucid answers that from the config
41
+ // too (`connection.config.migrations.paths`, read through `lucid.db`). Atlas has
42
+ // no framework container to read, so the provider records it here.
43
+ let databaseConfig;
44
+ /** @internal Record the booted config (called by AtlasProvider). */
45
+ export function setDatabaseConfig(config, defaultName) {
46
+ databaseConfig = { config, defaultName };
47
+ }
48
+ /**
49
+ * @internal Forget the config IF it is still the one `config` describes.
50
+ * Ownership-guarded for the same reason {@link clearDb} is: a second provider
51
+ * may have rebound it, and the older provider's shutdown must not clear the
52
+ * newer binding.
53
+ */
54
+ export function clearDatabaseConfig(config) {
55
+ if (databaseConfig?.config === config)
56
+ databaseConfig = undefined;
57
+ }
58
+ /** The config the application booted with, or `undefined` before boot. */
59
+ export function getDatabaseConfig() {
60
+ return databaseConfig?.config;
61
+ }
62
+ /** The default connection's name — Lucid `db.primaryConnectionName`. */
63
+ export function primaryConnectionName() {
64
+ return databaseConfig?.defaultName ?? "primary";
65
+ }
66
+ /**
67
+ * One connection's config, by name (default connection when unnamed).
68
+ *
69
+ * Read from the manager's node first — that is where Lucid keeps `migrations`,
70
+ * `seeders` and `schemaGeneration`, and the shape we mirror. The top level is
71
+ * the fallback, because the single-connection form IS the connection config,
72
+ * and because an app that set `migrations` there before these keys were
73
+ * per-connection must keep working.
74
+ */
75
+ export function connectionConfigFor(name) {
76
+ const resolved = name ?? primaryConnectionName();
77
+ const top = databaseConfig?.config;
78
+ // The manager knows a connection once the provider has registered it; before
79
+ // that — a command running against a config nobody opened yet — the declared
80
+ // `connections` entry is the same information.
81
+ const declared = manager.get(resolved)?.config ?? top?.connections?.[resolved];
82
+ if (top === undefined)
83
+ return declared ?? {};
84
+ if (declared === undefined)
85
+ return top;
86
+ return {
87
+ ...top,
88
+ ...declared,
89
+ // These three are merged a level down rather than replaced: the top level
90
+ // is the single-connection form of the same config, so a connection that
91
+ // names only its paths must not drop a `tableName` set beside it.
92
+ migrations: mergeOrUndefined(top.migrations, declared.migrations),
93
+ seeders: mergeOrUndefined(top.seeders, declared.seeders),
94
+ schemaGeneration: mergeOrUndefined(top.schemaGeneration, declared.schemaGeneration),
95
+ };
96
+ }
97
+ /** `{...a, ...b}`, or `undefined` when neither side has anything to merge. */
98
+ function mergeOrUndefined(base, override) {
99
+ if (base === undefined)
100
+ return override;
101
+ if (override === undefined)
102
+ return base;
103
+ return { ...base, ...override };
104
+ }
39
105
  // The shared connection manager (Lucid `db.manager`) — the single owner of named
40
106
  // connections. Backs `BaseModel.connection = 'analytics'` so a model resolves a
41
107
  // non-default connection from a plain import (AdonisJS `static connection`).
@@ -1 +1 @@
1
- {"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/services/db.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/services/db.ts"],"names":[],"mappings":"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"}
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@c9up/atlas",
3
- "version": "0.3.4",
3
+ "version": "0.3.6",
4
4
  "description": "Atlas — Data Mapper ORM for the Ream framework",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -48,6 +48,10 @@
48
48
  "types": "./dist/factories.d.ts",
49
49
  "import": "./dist/factories.js"
50
50
  },
51
+ "./commands": {
52
+ "types": "./dist/console/index.d.ts",
53
+ "import": "./dist/console/index.js"
54
+ },
51
55
  "./seeders": {
52
56
  "types": "./dist/seeders.d.ts",
53
57
  "import": "./dist/seeders.js"
@@ -25,6 +25,7 @@ import {
25
25
  type AsyncDatabaseConnection,
26
26
  createNapiConnection,
27
27
  } from "./adapters/NapiDbAdapter.js";
28
+ import type { SchemaGenerateOptions } from "./console/schemaGenerateCommand.js";
28
29
  import { clearCastRegistry, setAtlasDialect } from "./query/native.js";
29
30
  import {
30
31
  type DatabaseAdapter,
@@ -145,31 +146,27 @@ export interface ConnectionConfig {
145
146
  * make each `connectRetries` attempt give up faster (e.g. 5 × 2s).
146
147
  */
147
148
  connectTimeoutMs?: number;
148
- }
149
149
 
150
- /** Full database config — single-connection (legacy) OR multi-connection. */
151
- export interface AtlasDatabaseConfig extends ConnectionConfig {
152
- /**
153
- * Name of the default connection when `connections` is set (Lucid's top-level
154
- * `connection`). `default` is a deprecated alias — `connection` wins when both
155
- * are set. Defaults to `"primary"`.
156
- */
157
- connection?: string;
158
- /** @deprecated Use {@link connection} (the Lucid key). */
159
- default?: string;
160
- /** Named connections. When present, top-level `url` is treated as `connections[default].url`. */
161
- connections?: Record<string, ConnectionConfig>;
162
150
  migrations?: {
163
151
  /** @deprecated Use the Lucid-shaped {@link paths}. */
164
152
  path?: string;
165
153
  /** Migration directories, Lucid-shaped — `paths: ['database/migrations']`. */
166
154
  paths?: string[];
167
155
  /**
168
- * Custom name for the migrations tracking table. Defaults to `"ream_migrations"`.
169
- * Must match `/^[A-Za-z_][A-Za-z0-9_]*$/` the `MigrationRunner` constructor
170
- * throws `AtlasError("MIGRATION_INVALID_TABLE_NAME")` otherwise.
156
+ * Custom name for the migrations tracking table Adonis Lucid
157
+ * `migrations.tableName`. Defaults to `"ream_migrations"`. Must match
158
+ * `/^[A-Za-z_][A-Za-z0-9_]*$/` — the `MigrationRunner` constructor throws
159
+ * `AtlasError("MIGRATION_INVALID_TABLE_NAME")` otherwise.
171
160
  */
161
+ tableName?: string;
162
+ /** @deprecated Use the Lucid-shaped {@link tableName}, which wins when both are set. */
172
163
  table?: string;
164
+ /**
165
+ * Refuse rollback / reset / refresh / fresh / wipe when `NODE_ENV` is
166
+ * `production`, unless the command is given `--force` (Adonis Lucid
167
+ * `migrations.disableRollbacksInProduction`). On by default.
168
+ */
169
+ disableRollbacksInProduction?: boolean;
173
170
  /**
174
171
  * Allow the boot-time auto-migrate in production. OFF by default:
175
172
  * starting the app should NOT silently mutate the schema in prod (Adonis
@@ -192,6 +189,47 @@ export interface AtlasDatabaseConfig extends ConnectionConfig {
192
189
  */
193
190
  disableTransactions?: boolean;
194
191
  };
192
+ /**
193
+ * Where the seeder files live, and how they are ordered. Lucid keeps this on
194
+ * the connection too (`seeders: { paths: ['database/seeders'] }`); the
195
+ * commands default to `database/seeders` when it is absent.
196
+ */
197
+ seeders?: {
198
+ /** Seeder directories. Only the first is used — one connection, one source. */
199
+ paths?: string[];
200
+ /** Sort files numerically (`2_x` before `10_x`) — Lucid `naturalSort`. */
201
+ naturalSort?: boolean;
202
+ };
203
+ /**
204
+ * Where `make:factory` scaffolds. Not a Lucid key — Lucid resolves it from
205
+ * the application's `database/factories` directory, which atlas cannot read
206
+ * without depending on the framework, so it is configured here and defaults
207
+ * to the same path.
208
+ */
209
+ factories?: {
210
+ /** Directory the factory files are scaffolded into. */
211
+ path?: string;
212
+ };
213
+ /**
214
+ * Schema-file generation — Lucid `schemaGeneration`, on the connection.
215
+ * `schema:generate` needs `outputPath`; without it the command says so
216
+ * rather than guessing a path to write into.
217
+ */
218
+ schemaGeneration?: SchemaGenerateOptions;
219
+ }
220
+
221
+ /** Full database config — single-connection (legacy) OR multi-connection. */
222
+ export interface AtlasDatabaseConfig extends ConnectionConfig {
223
+ /**
224
+ * Name of the default connection when `connections` is set (Lucid's top-level
225
+ * `connection`). `default` is a deprecated alias — `connection` wins when both
226
+ * are set. Defaults to `"primary"`.
227
+ */
228
+ connection?: string;
229
+ /** @deprecated Use {@link connection} (the Lucid key). */
230
+ default?: string;
231
+ /** Named connections. When present, top-level `url` is treated as `connections[default].url`. */
232
+ connections?: Record<string, ConnectionConfig>;
195
233
  /**
196
234
  * Boot-time schema verification. When set, atlas reconciles each listed
197
235
  * model's `@Column` metadata against the LIVE database schema after boot and
@@ -411,6 +449,10 @@ export default class AtlasProvider {
411
449
  // `import db from '@c9up/atlas/services/db'` from anywhere.
412
450
  dbServices.setDb(defaultConn);
413
451
 
452
+ // Record the config too: the commands atlas ships read their paths from
453
+ // it, the way Lucid's read `connection.config.migrations.paths`.
454
+ dbServices.setDatabaseConfig(config, defaultName);
455
+
414
456
  // The dialect set module-wide is the DEFAULT connection's dialect.
415
457
  // Per-connection dialect (when a user hits a non-default) is read from
416
458
  // the connection URL at query time by each call site that cares.
@@ -445,7 +487,7 @@ export default class AtlasProvider {
445
487
  migrationsPath,
446
488
  connections[defaultName]?.url,
447
489
  defaultConn,
448
- config.migrations?.table,
490
+ config.migrations?.tableName ?? config.migrations?.table,
449
491
  {
450
492
  naturalSort: config.migrations?.naturalSort,
451
493
  disableTransactions: config.migrations?.disableTransactions,
@@ -457,7 +499,7 @@ export default class AtlasProvider {
457
499
  migrationsPath,
458
500
  connections[defaultName]?.url,
459
501
  defaultConn,
460
- config.migrations?.table,
502
+ config.migrations?.tableName ?? config.migrations?.table,
461
503
  {
462
504
  naturalSort: config.migrations?.naturalSort,
463
505
  disableTransactions: config.migrations?.disableTransactions,
@@ -466,6 +508,7 @@ export default class AtlasProvider {
466
508
  }
467
509
  } catch (err) {
468
510
  await Promise.allSettled(successes.map((s) => s.conn.close()));
511
+ dbServices.clearDatabaseConfig(config);
469
512
  for (const { name, conn } of successes) {
470
513
  dbServices.clearDb(conn);
471
514
  dbServices.unregisterConnection(name, conn);
@@ -502,7 +545,11 @@ export default class AtlasProvider {
502
545
  // registry entries (boot registered them), so `getConnection(name)` /
503
546
  // `BaseModel.connection` / `Factory.connection()` can't hand out a CLOSED
504
547
  // handle after shutdown.
505
- const { clearDb, unregisterConnection } = await import("./services/db.js");
548
+ const { clearDatabaseConfig, clearDb, unregisterConnection } = await import(
549
+ "./services/db.js"
550
+ );
551
+ const booted = this.app.config.get<AtlasDatabaseConfig>("database");
552
+ if (booted) clearDatabaseConfig(booted);
506
553
  for (const [name, conn] of named) {
507
554
  clearDb(conn);
508
555
  unregisterConnection(name, conn);
@@ -29,6 +29,37 @@ function napiReplacer(_key: string, value: unknown): unknown {
29
29
  return value;
30
30
  }
31
31
 
32
+ /**
33
+ * Refuse an array bound as ONE parameter.
34
+ *
35
+ * The binder has no array arm, so an array reached its catch-all and was bound
36
+ * as the JSON text `["a","b"]`. On SQLite that is merely wrong; on Postgres,
37
+ * `WHERE id = ANY($1)` makes the server read those text bytes as a binary array
38
+ * header, and it reports a dimension count read out of whatever happened to be
39
+ * there — a different number on every run. Silently sending bytes the server
40
+ * misreads is the failure this replaces.
41
+ *
42
+ * Expanding the list is the answer, and it is what Lucid does: `whereIn` emits
43
+ * `IN ($1, $2, …)` with one placeholder per value. So this names `whereIn`
44
+ * rather than teaching the binder a shape the query builder never produces.
45
+ *
46
+ * Only the TOP level is checked: a nested array is a JSON value inside an
47
+ * object being bound to a `json`/`jsonb` column, which is legitimate.
48
+ */
49
+ function assertNoArrayParams(params: readonly unknown[] | undefined): void {
50
+ if (!params) return;
51
+ for (const [index, value] of params.entries()) {
52
+ if (!Array.isArray(value)) continue;
53
+ throw new Error(
54
+ `[E_ARRAY_PARAM] Parameter $${index + 1} is an array, which cannot be bound as a single value. ` +
55
+ "Expand it into one placeholder per element — `whereIn(column, values)` does this, " +
56
+ "and so does building the placeholders yourself: `IN (${values.map((_, i) => '$' + (i + 1)).join(', ')})`. " +
57
+ "Binding the array itself sends Postgres text where it expects an array, and it reports " +
58
+ "a nonsensical dimension count rather than a type error.",
59
+ );
60
+ }
61
+ }
62
+
32
63
  /**
33
64
  * JSON reviver for napi result sets. Rebuilds `{"$bytes": …}` envelopes (emitted
34
65
  * by the Rust decoder for BLOB/BYTEA columns) into a `Uint8Array`. Integers
@@ -274,7 +305,7 @@ export async function createNapiConnection(
274
305
  ): Promise<{ rowsAffected: number; lastInsertId?: number }> {
275
306
  const json = await native.execute(
276
307
  sql,
277
- JSON.stringify(params, napiReplacer),
308
+ (assertNoArrayParams(params), JSON.stringify(params, napiReplacer)),
278
309
  );
279
310
  const r = JSON.parse(json);
280
311
  return {
@@ -289,7 +320,7 @@ export async function createNapiConnection(
289
320
  ): Promise<T[]> {
290
321
  const json = await native.query(
291
322
  sql,
292
- JSON.stringify(params, napiReplacer),
323
+ (assertNoArrayParams(params), JSON.stringify(params, napiReplacer)),
293
324
  );
294
325
  return JSON.parse(json, napiReviver) as T[];
295
326
  },
@@ -415,7 +446,8 @@ export async function createNapiConnection(
415
446
  meta?: QueryMeta,
416
447
  ): Promise<T[]> {
417
448
  return observed(sql, params, meta, async () => {
418
- const paramsJson = JSON.stringify(params, napiReplacer);
449
+ const paramsJson =
450
+ (assertNoArrayParams(params), JSON.stringify(params, napiReplacer));
419
451
  const json =
420
452
  meta?.serverTimeoutMs != null
421
453
  ? await db.queryTimed(sql, paramsJson, meta.serverTimeoutMs)
@@ -430,7 +462,8 @@ export async function createNapiConnection(
430
462
  meta?: QueryMeta,
431
463
  ): Promise<{ rowsAffected: number; lastInsertId?: number }> {
432
464
  return observed(sql, params, meta, async () => {
433
- const paramsJson = JSON.stringify(params, napiReplacer);
465
+ const paramsJson =
466
+ (assertNoArrayParams(params), JSON.stringify(params, napiReplacer));
434
467
  const json =
435
468
  meta?.serverTimeoutMs != null
436
469
  ? await db.executeTimed(sql, paramsJson, meta.serverTimeoutMs)
package/src/configure.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  interface Codemods {
2
2
  addProvider(importPath: string): Promise<void>;
3
+ registerCommand(importPath: string): Promise<void>;
3
4
  addEnvVars(vars: Record<string, string>): Promise<void>;
4
5
  writeFile(
5
6
  filePath: string,
@@ -10,6 +11,11 @@ interface Codemods {
10
11
 
11
12
  export async function configure(codemods: Codemods): Promise<void> {
12
13
  await codemods.addProvider("@c9up/atlas/provider");
14
+ // `reamrc.commands` is how a package ships commands — the same channel Lucid
15
+ // uses (`@adonisjs/lucid/commands`). Every migration / seeder / schema
16
+ // command comes from here, configured by `config/database.ts`; none of them
17
+ // needs a line in the `ream` binary.
18
+ await codemods.registerCommand("@c9up/atlas/commands");
13
19
  await codemods.addEnvVars({
14
20
  DB_HOST: "localhost",
15
21
  DB_PORT: "5432",
@@ -22,12 +28,18 @@ export async function configure(codemods: Codemods): Promise<void> {
22
28
  `import { defineConfig } from '@c9up/atlas'
23
29
 
24
30
  export default defineConfig({
25
- default: 'postgres',
31
+ connection: 'postgres',
26
32
  connections: {
27
33
  postgres: {
28
34
  url:
29
35
  process.env.DATABASE_URL ??
30
36
  \`postgres://\${process.env.DB_USER ?? 'postgres'}:\${process.env.DB_PASSWORD ?? ''}@\${process.env.DB_HOST ?? 'localhost'}:\${process.env.DB_PORT ?? '5432'}/\${process.env.DB_DATABASE ?? 'ream'}\`,
37
+ migrations: {
38
+ paths: ['database/migrations'],
39
+ },
40
+ seeders: {
41
+ paths: ['database/seeders'],
42
+ },
31
43
  },
32
44
  },
33
45
  })