@fougere/adapter-sql 0.3.0-alpha.0 → 0.5.0-alpha.0

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 (51) hide show
  1. package/README.md +5 -3
  2. package/dist/crud.d.ts +3 -3
  3. package/dist/ddl.d.ts.map +1 -1
  4. package/dist/ddl.js +2 -2
  5. package/dist/ddl.js.map +1 -1
  6. package/dist/dialect.d.ts +8 -0
  7. package/dist/dialect.d.ts.map +1 -1
  8. package/dist/dialect.js +10 -0
  9. package/dist/dialect.js.map +1 -1
  10. package/dist/diff.d.ts.map +1 -1
  11. package/dist/diff.js +2 -2
  12. package/dist/diff.js.map +1 -1
  13. package/dist/fields.d.ts +22 -0
  14. package/dist/fields.d.ts.map +1 -0
  15. package/dist/fields.js +2 -0
  16. package/dist/fields.js.map +1 -0
  17. package/dist/index.d.ts +3 -1
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +2 -1
  20. package/dist/index.js.map +1 -1
  21. package/dist/query.d.ts +34 -0
  22. package/dist/query.d.ts.map +1 -0
  23. package/dist/query.js +44 -0
  24. package/dist/query.js.map +1 -0
  25. package/dist/setup.d.ts +8 -0
  26. package/dist/setup.d.ts.map +1 -1
  27. package/dist/setup.js +2 -1
  28. package/dist/setup.js.map +1 -1
  29. package/dist/sqlite.d.ts.map +1 -1
  30. package/dist/sqlite.js +2 -1
  31. package/dist/sqlite.js.map +1 -1
  32. package/dist/step.js +3 -3
  33. package/dist/step.js.map +1 -1
  34. package/dist/table.d.ts +18 -22
  35. package/dist/table.d.ts.map +1 -1
  36. package/dist/table.js +40 -41
  37. package/dist/table.js.map +1 -1
  38. package/package.json +7 -5
  39. package/src/check.ts +76 -0
  40. package/src/crud.ts +570 -0
  41. package/src/ddl.ts +242 -0
  42. package/src/dialect.ts +204 -0
  43. package/src/diff.ts +196 -0
  44. package/src/fields.ts +24 -0
  45. package/src/index.ts +41 -0
  46. package/src/query.ts +64 -0
  47. package/src/setup.ts +72 -0
  48. package/src/sqlite.ts +44 -0
  49. package/src/step.ts +287 -0
  50. package/src/table.ts +428 -0
  51. package/src/values.ts +105 -0
package/README.md CHANGED
@@ -3,8 +3,10 @@
3
3
  The SQL realization of the schema: the tables, the additive migration and the
4
4
  per-entity scoped ORM. Four dialects — SQLite, PostgreSQL, MySQL, SQL Server.
5
5
 
6
- Validation judges, storage realizes: this ORM passes no judgment on what a handler
7
- hands it it applies the `lifecycle` rules.
6
+ Validation judges, storage realizes: this ORM decides nothing of its own it applies
7
+ the `lifecycle` rules on the way in. The shape is still held on this path, twice: the
8
+ DDL emits a `CHECK` for `oneOf`, `min` and `max`, and core's `StorageGuard` judges every
9
+ write through the port. `orm.client` meets neither.
8
10
 
9
11
  ## Installation
10
12
  ```bash
@@ -15,4 +17,4 @@ pnpm add @fougere/adapter-sql
15
17
 
16
18
  Part of [Fougere](https://github.com/chok/fougere) — one schema, a gradient from
17
19
  monolith to distributed, the same user code.
18
- Reference documentation: [the site](https://chok.github.io/fougere/) (en/fr).
20
+ Reference documentation: [the site](https://fougere.dev/) (en/fr).
package/dist/crud.d.ts CHANGED
@@ -13,7 +13,7 @@
13
13
  * `RETURNING` clause.
14
14
  */
15
15
  import { type Kysely } from 'kysely';
16
- import { type SchemaView, type SchemaSource } from '@fougere/schema';
16
+ import { type SchemaView, type SchemaOrCard } from '@fougere/schema';
17
17
  import { type DialectName } from './dialect.js';
18
18
  /** ListOptions — duplicated from @fougere/core to avoid a runtime dep. */
19
19
  interface ListOptions {
@@ -51,7 +51,7 @@ export declare class SqlEntityOrm {
51
51
  private maxBindings;
52
52
  /** How this engine spells an upsert, or `false` when it cannot — see `Dialect.upsert`. */
53
53
  private upsertClause;
54
- constructor(db: Kysely<any>, source: SchemaSource, tableName: string, selectFields?: Set<string>, dialect?: DialectName);
54
+ constructor(db: Kysely<any>, source: SchemaOrCard, tableName: string, selectFields?: Set<string>, dialect?: DialectName);
55
55
  /** The Kysely instance this ORM wraps — no judge sits behind it. See EntityOrm.client. */
56
56
  get client(): Kysely<any>;
57
57
  /** Returns a scoped ORM that restricts all read results to the fields of the given schema. */
@@ -159,6 +159,6 @@ export interface OrmFactoryOptions {
159
159
  * const app = await createApp({ createContainer, ormFactory: createOrmFactory(db) });
160
160
  * ```
161
161
  */
162
- export declare function createOrmFactory(db: Kysely<any>, options?: OrmFactoryOptions, dialect?: DialectName): (entity: SchemaSource, name: string) => SqlEntityOrm;
162
+ export declare function createOrmFactory(db: Kysely<any>, options?: OrmFactoryOptions, dialect?: DialectName): (entity: SchemaOrCard, name: string) => SqlEntityOrm;
163
163
  export {};
164
164
  //# sourceMappingURL=crud.d.ts.map
package/dist/ddl.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ddl.d.ts","sourceRoot":"","sources":["../src/ddl.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EACL,MAAM,EAOP,MAAM,QAAQ,CAAC;AAChB,OAAO,EAKL,KAAK,OAAO,EACZ,KAAK,SAAS,EACd,KAAK,QAAQ,EACd,MAAM,YAAY,CAAC;AACpB,OAAO,EAAkB,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAchE,sFAAsF;AACtF,wBAAgB,QAAQ,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAcvD;AAID;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,QAAQ,EACf,WAAW,EAAE,WAAW,EACxB,OAAO,CAAC,EAAE;IAAE,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CAAE,GACzC,MAAM,CA6CR;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,GAAG,MAAM,CAO7F;AAED,2DAA2D;AAC3D,wBAAgB,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,GAAG,MAAM,EAAE,CAIlF;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,GAAG,MAAM,CAQ/G;AAID,MAAM,WAAW,eAAe;IAC9B,6EAA6E;IAC7E,SAAS,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC;IAC3C,sCAAsC;IACtC,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,MAAM,EAAE,CA4B7E;AAED;;;GAGG;AACH,MAAM,MAAM,OAAO,GACf;IAAE,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,GACjC;IAAE,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAAC;AAMnC;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAKxG"}
1
+ {"version":3,"file":"ddl.d.ts","sourceRoot":"","sources":["../src/ddl.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EACL,MAAM,EAOP,MAAM,QAAQ,CAAC;AAChB,OAAO,EAKL,KAAK,OAAO,EACZ,KAAK,SAAS,EACd,KAAK,QAAQ,EACd,MAAM,YAAY,CAAC;AACpB,OAAO,EAAiC,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAc/E,sFAAsF;AACtF,wBAAgB,QAAQ,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAcvD;AAID;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,QAAQ,EACf,WAAW,EAAE,WAAW,EACxB,OAAO,CAAC,EAAE;IAAE,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CAAE,GACzC,MAAM,CA6CR;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,GAAG,MAAM,CAO7F;AAED,2DAA2D;AAC3D,wBAAgB,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,GAAG,MAAM,EAAE,CAIlF;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,GAAG,MAAM,CAQ/G;AAID,MAAM,WAAW,eAAe;IAC9B,6EAA6E;IAC7E,SAAS,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC;IAC3C,sCAAsC;IACtC,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,MAAM,EAAE,CA4B7E;AAED;;;GAGG;AACH,MAAM,MAAM,OAAO,GACf;IAAE,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,GACjC;IAAE,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAAC;AAMnC;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAKxG"}
package/dist/ddl.js CHANGED
@@ -9,7 +9,7 @@
9
9
  */
10
10
  import { Kysely, DummyDriver, sql, SqliteAdapter, SqliteQueryCompiler, SqliteIntrospector, PostgresAdapter, PostgresQueryCompiler, PostgresIntrospector, MysqlAdapter, MysqlQueryCompiler, MysqlIntrospector, MssqlAdapter, MssqlQueryCompiler, MssqlIntrospector, } from 'kysely';
11
11
  import { isKeyed, orderTables, toTableName, toTables, } from './table.js';
12
- import { resolveDialect } from './dialect.js';
12
+ import { columnTypeFor, resolveDialect } from './dialect.js';
13
13
  import { checkFor } from './check.js';
14
14
  // ─── Compile-only engines ──────────────────────────
15
15
  const parts = {
@@ -57,7 +57,7 @@ export function createTableSQL(table, dialectName, options) {
57
57
  if (dialectName !== 'mssql')
58
58
  builder = builder.ifNotExists();
59
59
  for (const column of table.columns) {
60
- const type = dialect.columnType(column, isKeyed(table, column));
60
+ const type = columnTypeFor(dialect, column, isKeyed(table, column));
61
61
  builder = builder.addColumn(column.name, sql.raw(type), (col) => {
62
62
  let built = col;
63
63
  // A simple key is inline; a composite one becomes a table constraint.
package/dist/ddl.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ddl.js","sourceRoot":"","sources":["../src/ddl.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EACL,MAAM,EACN,WAAW,EACX,GAAG,EACH,aAAa,EAAE,mBAAmB,EAAE,kBAAkB,EACtD,eAAe,EAAE,qBAAqB,EAAE,oBAAoB,EAC5D,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EACnD,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,GACpD,MAAM,QAAQ,CAAC;AAChB,OAAO,EACL,OAAO,EACP,WAAW,EACX,WAAW,EACX,QAAQ,GAIT,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,cAAc,EAAoB,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,sDAAsD;AAEtD,MAAM,KAAK,GAAG;IACZ,MAAM,EAAE,CAAC,aAAa,EAAE,mBAAmB,EAAE,kBAAkB,CAAC;IAChE,EAAE,EAAE,CAAC,eAAe,EAAE,qBAAqB,EAAE,oBAAoB,CAAC;IAClE,KAAK,EAAE,CAAC,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,CAAC;IAC5D,KAAK,EAAE,CAAC,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,CAAC;CACpD,CAAC;AAEX,MAAM,OAAO,GAAG,IAAI,GAAG,EAA4B,CAAC;AAEpD,sFAAsF;AACtF,MAAM,UAAU,QAAQ,CAAC,IAAiB;IACxC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,MAAM,CAAC,OAAO,EAAE,aAAa,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,IAAI,CAAQ,CAAC;IAClE,MAAM,MAAM,GAAG,IAAI,MAAM,CAAM;QAC7B,OAAO,EAAE;YACP,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,OAAO,EAAE;YAClC,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,WAAW,EAAE;YACrC,kBAAkB,EAAE,CAAC,EAAe,EAAE,EAAE,CAAC,IAAI,YAAY,CAAC,EAAE,CAAC;YAC7D,mBAAmB,EAAE,GAAG,EAAE,CAAC,IAAI,aAAa,EAAE;SAC/C;KACF,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC1B,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,sDAAsD;AAEtD;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,cAAc,CAC5B,KAAe,EACf,WAAwB,EACxB,OAA0C;IAE1C,MAAM,OAAO,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAG,KAAK,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,OAAO,EAAE,cAAc,CAAC;IACrC,IAAI,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnE,IAAI,WAAW,KAAK,OAAO;QAAE,OAAO,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAE7D,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;QAChE,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAQ,EAAE,CAAC,GAAG,EAAE,EAAE;YACrE,IAAI,KAAK,GAAG,GAAG,CAAC;YAChB,sEAAsE;YACtE,IAAI,MAAM,CAAC,OAAO,IAAI,CAAC,SAAS;gBAAE,KAAK,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;YAC7D,IAAI,CAAC,MAAM,CAAC,QAAQ;gBAAE,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;YAC9C,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS;gBAAE,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC1E,iFAAiF;YACjF,uCAAuC;YACvC,IAAI,MAAM,CAAC,MAAM;gBAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YAC1C,IAAI,MAAM,CAAC,UAAU,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjD,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;gBACnF,IAAI,MAAM,CAAC,UAAU,CAAC,QAAQ;oBAAE,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACrF,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,GAAG,OAAO,CAAC,uBAAuB,CAAC,GAAG,KAAK,CAAC,IAAI,KAAK,EAAE,KAAK,CAAC,gBAAuB,CAAC,CAAC;IAC/F,CAAC;IAED,iFAAiF;IACjF,wEAAwE;IACxE,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;QACvC,OAAO,GAAG,OAAO,CAAC,mBAAmB,CAAC,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,KAAY,CAAC,CAAC;IACjG,CAAC;IAED,8EAA8E;IAC9E,gFAAgF;IAChF,2DAA2D;IAC3D,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/B,IAAI,KAAK;YAAE,OAAO,GAAG,OAAO,CAAC,kBAAkB,CAAC,GAAG,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC/F,CAAC;IAED,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC;AAC/B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAe,EAAE,MAAiB,EAAE,WAAwB;IACnF,IAAI,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC;SAChC,MAAM,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,MAAM,CAAC;SACtD,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;SACd,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACvB,IAAI,WAAW,KAAK,OAAO;QAAE,OAAO,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAC7D,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC;AAC/B,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,cAAc,CAAC,KAAe,EAAE,WAAwB;IACtE,OAAO,KAAK,CAAC,OAAO;SACjB,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;SAChC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CAAC,KAAe,EAAE,MAAiB,EAAE,WAAwB;IACrG,MAAM,GAAG,GAAG,MAAM,CAAC,UAAW,CAAC;IAC/B,MAAM,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC;IAC/C,IAAI,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC;SAChC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC;SAC7B,uBAAuB,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACzE,IAAI,GAAG,CAAC,QAAQ;QAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC3D,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC;AAC/B,CAAC;AAWD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,WAAW,CAAC,GAAY,EAAE,OAAyB;IACjE,MAAM,OAAO,GAAG,OAAO,EAAE,SAAS,IAAI,WAAW,CAAC;IAClD,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,QAAQ,CAAC;IAC7C,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAEtC,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,OAAO;YACL,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACxD,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;SAC7D,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAClD,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAuB,CAAC;IACzD,KAAK,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,EAAU,CAAC;QACrE,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACvB,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACpC,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CACtF,CAAC;IACF,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,0BAA0B,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC5G,qFAAqF;IACrF,+CAA+C;IAC/C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3E,OAAO,CAAC,GAAG,OAAO,EAAE,GAAG,WAAW,EAAE,GAAG,OAAO,CAAC,CAAC;AAClD,CAAC;AAUD,SAAS,KAAK,CAAC,IAAa,EAAE,SAAiB;IAC7C,OAAO,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC5E,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAC,GAAY,EAAE,IAAa,EAAE,OAAyB;IAChF,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC;SACtC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;SAC1C,MAAM,CAAC,CAAC,MAAM,EAA8B,EAAE,CAAC,OAAQ,MAAc,EAAE,IAAI,KAAK,UAAU,CAAC,CAAC;IAC/F,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACjF,CAAC"}
1
+ {"version":3,"file":"ddl.js","sourceRoot":"","sources":["../src/ddl.ts"],"names":[],"mappings":"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"}
package/dist/dialect.d.ts CHANGED
@@ -63,4 +63,12 @@ export declare const mysqlDialect: Dialect;
63
63
  export declare const mssqlDialect: Dialect;
64
64
  export declare const dialects: Record<DialectName, Dialect>;
65
65
  export declare function resolveDialect(name: DialectName): Dialect;
66
+ /**
67
+ * The type this column is emitted with — what the entity stated when it named THIS
68
+ * engine, the shape's own answer otherwise.
69
+ *
70
+ * The fallback is what keeps the statement local: `columnType: { pg: 'tsvector' }` leaves
71
+ * SQLite exactly where it was, so the same entity still boots on every dialect.
72
+ */
73
+ export declare function columnTypeFor(dialect: Dialect, column: ColumnDef, keyed: boolean): string;
66
74
  //# sourceMappingURL=dialect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dialect.d.ts","sourceRoot":"","sources":["../src/dialect.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,IAAI,GAAG,OAAO,GAAG,OAAO,CAAC;AAE9D,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,WAAW,CAAC;IAClB;;;;OAIG;IACH,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;IACtD;;;OAGG;IACH,iBAAiB,EAAE,OAAO,CAAC;IAC3B;;;;;;;;;;;;OAYG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;;;;OAQG;IACH,MAAM,EAAE,aAAa,GAAG,kBAAkB,GAAG,KAAK,CAAC;IACnD;;;;;;;;;;OAUG;IACH,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC;CAC5C;AAkBD,eAAO,MAAM,aAAa,EAAE,OAqB3B,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,OA0BvB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,OAwB1B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,OAwB1B,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,WAAW,EAAE,OAAO,CAKjD,CAAC;AAEF,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAIzD"}
1
+ {"version":3,"file":"dialect.d.ts","sourceRoot":"","sources":["../src/dialect.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,IAAI,GAAG,OAAO,GAAG,OAAO,CAAC;AAE9D,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,WAAW,CAAC;IAClB;;;;OAIG;IACH,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;IACtD;;;OAGG;IACH,iBAAiB,EAAE,OAAO,CAAC;IAC3B;;;;;;;;;;;;OAYG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;;;;OAQG;IACH,MAAM,EAAE,aAAa,GAAG,kBAAkB,GAAG,KAAK,CAAC;IACnD;;;;;;;;;;OAUG;IACH,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC;CAC5C;AAkBD,eAAO,MAAM,aAAa,EAAE,OAqB3B,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,OA0BvB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,OAwB1B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,OAwB1B,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,WAAW,EAAE,OAAO,CAKjD,CAAC;AAEF,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAIzD;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAEzF"}
package/dist/dialect.js CHANGED
@@ -122,4 +122,14 @@ export function resolveDialect(name) {
122
122
  throw new Error(`Unknown SQL dialect '${name}'. Known: ${Object.keys(dialects).join(', ')}`);
123
123
  return dialect;
124
124
  }
125
+ /**
126
+ * The type this column is emitted with — what the entity stated when it named THIS
127
+ * engine, the shape's own answer otherwise.
128
+ *
129
+ * The fallback is what keeps the statement local: `columnType: { pg: 'tsvector' }` leaves
130
+ * SQLite exactly where it was, so the same entity still boots on every dialect.
131
+ */
132
+ export function columnTypeFor(dialect, column, keyed) {
133
+ return column.stated?.columnType?.[dialect.name] ?? dialect.columnType(column, keyed);
134
+ }
125
135
  //# sourceMappingURL=dialect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dialect.js","sourceRoot":"","sources":["../src/dialect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dialect.js","sourceRoot":"","sources":["../src/dialect.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../src/diff.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAO,KAAK,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,EAAkE,KAAK,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhH,OAAO,EAAkB,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAKL,KAAK,OAAO,EACZ,KAAK,SAAS,EACd,KAAK,QAAQ,EACd,MAAM,YAAY,CAAC;AAEpB,gEAAgE;AAChE,MAAM,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AAEnD,2FAA2F;AAC3F,wBAAsB,WAAW,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAOvE;AAED,+DAA+D;AAC/D,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,QAAQ,EAAE,CAEjF;AAED,MAAM,MAAM,MAAM,GACd;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GACpE;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,SAAS,CAAA;CAAE,GACzD;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,SAAS,CAAA;CAAE,GAC7D;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,SAAS,CAAA;CAAE,CAAC;AAEhE,kFAAkF;AAClF,wBAAgB,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,WAAW,GAAG,MAAM,EAAE,CAsBxE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,WAAW,GAAG,MAAM,EAAE,CAuBlF;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,GAAG,MAAM,CAqC1E;AAED,sEAAsE;AACtE,wBAAsB,aAAa,CACjC,GAAG,EAAE,OAAO,EACZ,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,EACf,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAItD;AAED;;;;;;GAMG;AACH;;;;GAIG;AACH,wBAAsB,OAAO,CAC3B,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAAA;CAAE,EACzC,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,MAAM,EAAE,CAAC,CAOnB"}
1
+ {"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../src/diff.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAO,KAAK,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,EAAkE,KAAK,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhH,OAAO,EAAiC,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAC/E,OAAO,EAKL,KAAK,OAAO,EACZ,KAAK,SAAS,EACd,KAAK,QAAQ,EACd,MAAM,YAAY,CAAC;AAEpB,gEAAgE;AAChE,MAAM,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AAEnD,2FAA2F;AAC3F,wBAAsB,WAAW,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAOvE;AAED,+DAA+D;AAC/D,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,QAAQ,EAAE,CAEjF;AAED,MAAM,MAAM,MAAM,GACd;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GACpE;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,SAAS,CAAA;CAAE,GACzD;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,SAAS,CAAA;CAAE,GAC7D;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,SAAS,CAAA;CAAE,CAAC;AAEhE,kFAAkF;AAClF,wBAAgB,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,WAAW,GAAG,MAAM,EAAE,CAsBxE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,WAAW,GAAG,MAAM,EAAE,CAuBlF;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,GAAG,MAAM,CAqC1E;AAED,sEAAsE;AACtE,wBAAsB,aAAa,CACjC,GAAG,EAAE,OAAO,EACZ,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,EACf,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAItD;AAED;;;;;;GAMG;AACH;;;;GAIG;AACH,wBAAsB,OAAO,CAC3B,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAAA;CAAE,EACzC,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,MAAM,EAAE,CAAC,CAOnB"}
package/dist/diff.js CHANGED
@@ -14,7 +14,7 @@
14
14
  import { sql } from 'kysely';
15
15
  import { addForeignKeyConstraintSQL, compiler, createTableSQL, indexSQL } from './ddl.js';
16
16
  import { checkFor } from './check.js';
17
- import { resolveDialect } from './dialect.js';
17
+ import { columnTypeFor, resolveDialect } from './dialect.js';
18
18
  import { isKeyed, orderTables, toTables, toTableName, } from './table.js';
19
19
  /** Read the live schema. Only names are needed — an additive pass never inspects types. */
20
20
  export async function actualState(db) {
@@ -114,7 +114,7 @@ export function changeSQL(change, dialectName) {
114
114
  return indexSQL(change.table, change.column, dialectName);
115
115
  }
116
116
  const { table, column } = change;
117
- const type = dialect.columnType(column, isKeyed(table, column));
117
+ const type = columnTypeFor(dialect, column, isKeyed(table, column));
118
118
  return compiler(dialectName)
119
119
  .schema.alterTable(table.name)
120
120
  .addColumn(column.name, sql.raw(type), (col) => {
package/dist/diff.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"diff.js","sourceRoot":"","sources":["../src/diff.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diff.js","sourceRoot":"","sources":["../src/diff.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * What an entity may state for THIS adapter, declared from OUTSIDE `@fougere/schema` —
3
+ * which names no engine and no column type, and must not learn one to let this exist.
4
+ *
5
+ * It replaces what the shape would have given, and only for the engine it names: an
6
+ * engine absent here keeps the shape's answer, so the entity still boots on every
7
+ * dialect. What an engine must HONOR is not stated here — it is a decision, and it
8
+ * belongs in `fougere.config.ts` beside `remotes:`, `sources:` and `ports:`.
9
+ */
10
+ import type { DialectName } from './dialect.js';
11
+ /** What sql holds, addressed by field — the shape every augmentation of the registry takes. */
12
+ export type SqlFields<K extends string> = Readonly<Partial<Record<K, SqlField>>>;
13
+ export interface SqlField {
14
+ /** The column type to emit, per engine. An engine absent here keeps the shape's own. */
15
+ readonly columnType?: Readonly<Partial<Record<DialectName, string>>>;
16
+ }
17
+ declare module '@fougere/schema' {
18
+ interface FougereEntityAdapters<K extends string> {
19
+ sql?: SqlFields<K>;
20
+ }
21
+ }
22
+ //# sourceMappingURL=fields.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../src/fields.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,+FAA+F;AAC/F,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,MAAM,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;AAEjF,MAAM,WAAW,QAAQ;IACvB,wFAAwF;IACxF,QAAQ,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;CACtE;AAED,OAAO,QAAQ,iBAAiB,CAAC;IAC/B,UAAU,qBAAqB,CAAC,CAAC,SAAS,MAAM;QAC9C,GAAG,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;KACpB;CACF"}
package/dist/fields.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=fields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fields.js","sourceRoot":"","sources":["../src/fields.ts"],"names":[],"mappings":""}
package/dist/index.d.ts CHANGED
@@ -1,9 +1,11 @@
1
1
  export { createTableSQL, createIndexSQL, indexSQL, addForeignKeyConstraintSQL, generateSQL, autoMigrate, compiler } from './ddl.js';
2
+ export { onQuery, logQueries, type QueryEvent, type QuerySink } from './query.js';
2
3
  export type { GenerateOptions, SqlSink } from './ddl.js';
3
4
  export { toTable, toTables, toTableName, toSnakeCase, isKeyed, orderTables } from './table.js';
4
5
  export type { TableDef, ColumnDef, ColumnShape, ColumnReference, RelationResolve, FkEdge, TableOrder, EntityEntry, FrondLike, AppLike, } from './table.js';
5
- export { dialects, resolveDialect, sqliteDialect, pgDialect, mysqlDialect, mssqlDialect, } from './dialect.js';
6
+ export { columnTypeFor, dialects, resolveDialect, sqliteDialect, pgDialect, mysqlDialect, mssqlDialect, } from './dialect.js';
6
7
  export type { Dialect, DialectName } from './dialect.js';
8
+ export type { SqlField, SqlFields } from './fields.js';
7
9
  export { SqlEntityOrm, createOrmFactory } from './crud.js';
8
10
  export type { OrmFactoryOptions } from './crud.js';
9
11
  export { codecFor, codecsOf } from './values.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,QAAQ,EAAE,0BAA0B,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpI,YAAY,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC/F,YAAY,EACV,QAAQ,EACR,SAAS,EACT,WAAW,EACX,eAAe,EACf,eAAe,EACf,MAAM,EACN,UAAU,EACV,WAAW,EACX,SAAS,EACT,OAAO,GACR,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,QAAQ,EACR,cAAc,EACd,aAAa,EACb,SAAS,EACT,YAAY,EACZ,YAAY,GACb,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC3D,YAAY,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACjD,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAI9C,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAClD,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/G,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAErD,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACxE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,QAAQ,EAAE,0BAA0B,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpI,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAClF,YAAY,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC/F,YAAY,EACV,QAAQ,EACR,SAAS,EACT,WAAW,EACX,eAAe,EACf,eAAe,EACf,MAAM,EACN,UAAU,EACV,WAAW,EACX,SAAS,EACT,OAAO,GACR,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,aAAa,EACb,QAAQ,EACR,cAAc,EACd,aAAa,EACb,SAAS,EACT,YAAY,EACZ,YAAY,GACb,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACzD,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC3D,YAAY,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACjD,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAI9C,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAClD,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/G,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAErD,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACxE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC"}
package/dist/index.js CHANGED
@@ -1,6 +1,7 @@
1
1
  export { createTableSQL, createIndexSQL, indexSQL, addForeignKeyConstraintSQL, generateSQL, autoMigrate, compiler } from './ddl.js';
2
+ export { onQuery, logQueries } from './query.js';
2
3
  export { toTable, toTables, toTableName, toSnakeCase, isKeyed, orderTables } from './table.js';
3
- export { dialects, resolveDialect, sqliteDialect, pgDialect, mysqlDialect, mssqlDialect, } from './dialect.js';
4
+ export { columnTypeFor, dialects, resolveDialect, sqliteDialect, pgDialect, mysqlDialect, mssqlDialect, } from './dialect.js';
4
5
  export { SqlEntityOrm, createOrmFactory } from './crud.js';
5
6
  export { codecFor, codecsOf } from './values.js';
6
7
  // The driver this package owns is NOT here: `better-sqlite3` is native and `node:fs` is a
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,QAAQ,EAAE,0BAA0B,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpI,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAa/F,OAAO,EACL,QAAQ,EACR,cAAc,EACd,aAAa,EACb,SAAS,EACT,YAAY,EACZ,YAAY,GACb,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE3D,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEjD,0FAA0F;AAC1F,wFAAwF;AACxF,uEAAuE;AACvE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAElD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE/G,wEAAwE;AACxE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,QAAQ,EAAE,0BAA0B,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpI,OAAO,EAAE,OAAO,EAAE,UAAU,EAAmC,MAAM,YAAY,CAAC;AAElF,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAa/F,OAAO,EACL,aAAa,EACb,QAAQ,EACR,cAAc,EACd,aAAa,EACb,SAAS,EACT,YAAY,EACZ,YAAY,GACb,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE3D,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEjD,0FAA0F;AAC1F,wFAAwF;AACxF,uEAAuE;AACvE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAElD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE/G,wEAAwE;AACxE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,34 @@
1
+ import type { LogEvent } from 'kysely';
2
+ /** One statement this process ran, and what it cost. */
3
+ export interface QueryEvent {
4
+ /** Which storage ran it — a process may open several (`sources:`). */
5
+ storage: string;
6
+ sql: string;
7
+ /**
8
+ * How MANY parameters, never their values.
9
+ *
10
+ * They are user data nobody chose to expose — the rule the call log states for a body.
11
+ * The count is what a reader needs anyway: it is how you see an `IN (?, ?, ?)` grow.
12
+ */
13
+ parameters: number;
14
+ /** Rounded to three decimals: a sub-microsecond statement reports 17 digits otherwise. */
15
+ ms: number;
16
+ failed: boolean;
17
+ at: number;
18
+ }
19
+ export type QuerySink = (event: QueryEvent) => void;
20
+ /**
21
+ * Be told about every statement this process runs, and get the unsubscription back.
22
+ *
23
+ * A subscription and not an option, for one reason that decides it: Kysely takes its `log`
24
+ * at CONSTRUCTION, and the storage is built during the boot — before any extension's
25
+ * `up(app)` runs. So the only way to subscribe afterwards is for the log to be installed
26
+ * from the start and route to whoever is listening.
27
+ *
28
+ * The same shape core states for `onLog` and observability for `onSpan`. Costs nothing when
29
+ * nobody listens: `logQueries` returns on an empty list before touching the event.
30
+ */
31
+ export declare function onQuery(sink: QuerySink): () => void;
32
+ /** The `log` every Kysely is built with. Named by storage, since a sink sees them all. */
33
+ export declare function logQueries(storage: string): (event: LogEvent) => void;
34
+ //# sourceMappingURL=query.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAEvC,wDAAwD;AACxD,MAAM,WAAW,UAAU;IACzB,sEAAsE;IACtE,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ;;;;;OAKG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB,0FAA0F;IAC1F,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,OAAO,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;AAIpD;;;;;;;;;;GAUG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,IAAI,CAOnD;AAED,0FAA0F;AAC1F,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAkBrE"}
package/dist/query.js ADDED
@@ -0,0 +1,44 @@
1
+ const sinks = [];
2
+ /**
3
+ * Be told about every statement this process runs, and get the unsubscription back.
4
+ *
5
+ * A subscription and not an option, for one reason that decides it: Kysely takes its `log`
6
+ * at CONSTRUCTION, and the storage is built during the boot — before any extension's
7
+ * `up(app)` runs. So the only way to subscribe afterwards is for the log to be installed
8
+ * from the start and route to whoever is listening.
9
+ *
10
+ * The same shape core states for `onLog` and observability for `onSpan`. Costs nothing when
11
+ * nobody listens: `logQueries` returns on an empty list before touching the event.
12
+ */
13
+ export function onQuery(sink) {
14
+ sinks.push(sink);
15
+ return () => {
16
+ const at = sinks.indexOf(sink);
17
+ if (at !== -1)
18
+ sinks.splice(at, 1);
19
+ };
20
+ }
21
+ /** The `log` every Kysely is built with. Named by storage, since a sink sees them all. */
22
+ export function logQueries(storage) {
23
+ return (event) => {
24
+ if (sinks.length === 0)
25
+ return;
26
+ const told = {
27
+ storage,
28
+ sql: event.query.sql,
29
+ parameters: event.query.parameters.length,
30
+ ms: Math.round(event.queryDurationMillis * 1000) / 1000,
31
+ failed: event.level === 'error',
32
+ at: Date.now(),
33
+ };
34
+ // A listener's own failure is not the query's problem — the rule `DispatchLifecycle`
35
+ // applies to an observer, and `Log` in Kysely would otherwise reject the query.
36
+ for (const sink of sinks) {
37
+ try {
38
+ sink(told);
39
+ }
40
+ catch { /* observational */ }
41
+ }
42
+ };
43
+ }
44
+ //# sourceMappingURL=query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.js","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"AAsBA,MAAM,KAAK,GAAgB,EAAE,CAAC;AAE9B;;;;;;;;;;GAUG;AACH,MAAM,UAAU,OAAO,CAAC,IAAe;IACrC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEjB,OAAO,GAAG,EAAE;QACV,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,EAAE,KAAK,CAAC,CAAC;YAAE,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC;AACJ,CAAC;AAED,0FAA0F;AAC1F,MAAM,UAAU,UAAU,CAAC,OAAe;IACxC,OAAO,CAAC,KAAK,EAAE,EAAE;QACf,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAE/B,MAAM,IAAI,GAAe;YACvB,OAAO;YACP,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG;YACpB,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM;YACzC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,mBAAmB,GAAG,IAAI,CAAC,GAAG,IAAI;YACvD,MAAM,EAAE,KAAK,CAAC,KAAK,KAAK,OAAO;YAC/B,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;SACf,CAAC;QACF,qFAAqF;QACrF,gFAAgF;QAChF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC;gBAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,CAAC;QACnD,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
package/dist/setup.d.ts CHANGED
@@ -14,6 +14,14 @@ import type { SqlSink } from './ddl.js';
14
14
  export interface SetupOptions {
15
15
  /** Override naming for specific entities (e.g. better-auth wants singular table names). */
16
16
  ormFactoryOptions?: OrmFactoryOptions;
17
+ /**
18
+ * What to call this storage when a query is reported.
19
+ *
20
+ * A process may open several (`sources:`), and a module-level sink sees them all — without
21
+ * a name, two statements from two databases read as one stream. Defaults to what
22
+ * distinguishes them anyway: the engine here, the file path for SQLite.
23
+ */
24
+ name?: string;
17
25
  }
18
26
  export interface Setup {
19
27
  dialect: DialectName;
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,MAAM,EAAO,KAAK,OAAO,IAAI,aAAa,EAAE,MAAM,QAAQ,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,KAAK,iBAAiB,EAAE,MAAM,WAAW,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAExC,MAAM,WAAW,YAAY;IAC3B,2FAA2F;IAC3F,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CACvC;AAED,MAAM,WAAW,KAAK;IACpB,OAAO,EAAE,WAAW,CAAC;IACrB,UAAU,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;IAChD,+DAA+D;IAC/D,IAAI,EAAE,OAAO,CAAC;IACd;;;;;;OAMG;IACH,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;IAChB;;;;;;;OAOG;IACH,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CAChG;AAED,0EAA0E;AAC1E,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAEhD;AAED,6DAA6D;AAC7D,wBAAgB,WAAW,CACzB,aAAa,EAAE,aAAa,EAC5B,OAAO,EAAE,WAAW,EACpB,IAAI,GAAE,YAAiB,GACtB,KAAK,CASP"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,MAAM,EAAO,KAAK,OAAO,IAAI,aAAa,EAAE,MAAM,QAAQ,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,KAAK,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAErE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAExC,MAAM,WAAW,YAAY;IAC3B,2FAA2F;IAC3F,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,KAAK;IACpB,OAAO,EAAE,WAAW,CAAC;IACrB,UAAU,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;IAChD,+DAA+D;IAC/D,IAAI,EAAE,OAAO,CAAC;IACd;;;;;;OAMG;IACH,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;IAChB;;;;;;;OAOG;IACH,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CAChG;AAED,0EAA0E;AAC1E,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAEhD;AAED,6DAA6D;AAC7D,wBAAgB,WAAW,CACzB,aAAa,EAAE,aAAa,EAC5B,OAAO,EAAE,WAAW,EACpB,IAAI,GAAE,YAAiB,GACtB,KAAK,CASP"}
package/dist/setup.js CHANGED
@@ -9,13 +9,14 @@
9
9
  */
10
10
  import { Kysely, sql } from 'kysely';
11
11
  import { createOrmFactory } from './crud.js';
12
+ import { logQueries } from './query.js';
12
13
  /** A sink that runs statements through Kysely — works on every engine. */
13
14
  export function sqlSink(db) {
14
15
  return { execute: (statement) => sql.raw(statement).execute(db) };
15
16
  }
16
17
  /** Wrap any Kysely dialect — Postgres, MySQL, SQL Server. */
17
18
  export function setupKysely(kyselyDialect, dialect, opts = {}) {
18
- const db = new Kysely({ dialect: kyselyDialect });
19
+ const db = new Kysely({ dialect: kyselyDialect, log: logQueries(opts.name ?? dialect) });
19
20
  return {
20
21
  db,
21
22
  dialect,
package/dist/setup.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,MAAM,EAAE,GAAG,EAAiC,MAAM,QAAQ,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAA0B,MAAM,WAAW,CAAC;AAiCrE,0EAA0E;AAC1E,MAAM,UAAU,OAAO,CAAC,EAAe;IACrC,OAAO,EAAE,OAAO,EAAE,CAAC,SAAiB,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;AAC5E,CAAC;AAED,6DAA6D;AAC7D,MAAM,UAAU,WAAW,CACzB,aAA4B,EAC5B,OAAoB,EACpB,IAAI,GAAiB,EAAE;IAEvB,MAAM,EAAE,GAAG,IAAI,MAAM,CAAM,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;IACvD,OAAO;QACL,EAAE;QACF,OAAO;QACP,UAAU,EAAE,gBAAgB,CAAC,EAAE,EAAE,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC;QACjE,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;QACjB,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC,CAAC;KAClH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,MAAM,EAAE,GAAG,EAAiC,MAAM,QAAQ,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAA0B,MAAM,WAAW,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAyCxC,0EAA0E;AAC1E,MAAM,UAAU,OAAO,CAAC,EAAe;IACrC,OAAO,EAAE,OAAO,EAAE,CAAC,SAAiB,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;AAC5E,CAAC;AAED,6DAA6D;AAC7D,MAAM,UAAU,WAAW,CACzB,aAA4B,EAC5B,OAAoB,EACpB,IAAI,GAAiB,EAAE;IAEvB,MAAM,EAAE,GAAG,IAAI,MAAM,CAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,EAAE,CAAC,CAAC;IAC9F,OAAO;QACL,EAAE;QACF,OAAO;QACP,UAAU,EAAE,gBAAgB,CAAC,EAAE,EAAE,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC;QACjE,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;QACjB,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC,CAAC;KAClH,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../src/sqlite.ts"],"names":[],"mappings":"AAYA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC,OAAO,EAAW,KAAK,KAAK,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAEpE,MAAM,WAAW,kBAAmB,SAAQ,YAAY;IACtD,yEAAyE;IACzE,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAY,SAAQ,KAAK;IACxC,wDAAwD;IACxD,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC;CAC3B;AAED,wBAAgB,WAAW,CAAC,IAAI,GAAE,kBAAuB,GAAG,WAAW,CAgBtE"}
1
+ {"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../src/sqlite.ts"],"names":[],"mappings":"AAYA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAGtC,OAAO,EAAW,KAAK,KAAK,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAEpE,MAAM,WAAW,kBAAmB,SAAQ,YAAY;IACtD,yEAAyE;IACzE,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAY,SAAQ,KAAK;IACxC,wDAAwD;IACxD,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC;CAC3B;AAED,wBAAgB,WAAW,CAAC,IAAI,GAAE,kBAAuB,GAAG,WAAW,CAgBtE"}
package/dist/sqlite.js CHANGED
@@ -12,6 +12,7 @@ import { dirname } from 'node:path';
12
12
  import { Kysely, SqliteDialect } from 'kysely';
13
13
  import Database from 'better-sqlite3';
14
14
  import { createOrmFactory } from './crud.js';
15
+ import { logQueries } from './query.js';
15
16
  import { sqlSink } from './setup.js';
16
17
  export function setupSqlite(opts = {}) {
17
18
  const path = opts.path ?? 'fougere.db';
@@ -21,7 +22,7 @@ export function setupSqlite(opts = {}) {
21
22
  const sqlite = new Database(path);
22
23
  sqlite.pragma('journal_mode = WAL');
23
24
  sqlite.pragma('foreign_keys = ON');
24
- const db = new Kysely({ dialect: new SqliteDialect({ database: sqlite }) });
25
+ const db = new Kysely({ dialect: new SqliteDialect({ database: sqlite }), log: logQueries(opts.name ?? path) });
25
26
  return {
26
27
  db,
27
28
  sqlite,
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../src/sqlite.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAC/C,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAiC,MAAM,YAAY,CAAC;AAYpE,MAAM,UAAU,WAAW,CAAC,IAAI,GAAuB,EAAE;IACvD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,YAAY,CAAC;IACvC,iEAAiE;IACjE,IAAI,IAAI,KAAK,UAAU;QAAE,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvE,MAAM,MAAM,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IACpC,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IACnC,MAAM,EAAE,GAAG,IAAI,MAAM,CAAM,EAAE,OAAO,EAAE,IAAI,aAAa,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IACjF,OAAO;QACL,EAAE;QACF,MAAM;QACN,OAAO,EAAE,QAAQ;QACjB,UAAU,EAAE,gBAAgB,CAAC,EAAE,EAAE,IAAI,CAAC,iBAAiB,EAAE,QAAQ,CAAC;QAClE,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;QACjB,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC,CAAC;KACnH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../src/sqlite.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAC/C,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,OAAO,EAAiC,MAAM,YAAY,CAAC;AAYpE,MAAM,UAAU,WAAW,CAAC,IAAI,GAAuB,EAAE;IACvD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,YAAY,CAAC;IACvC,iEAAiE;IACjE,IAAI,IAAI,KAAK,UAAU;QAAE,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvE,MAAM,MAAM,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IACpC,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IACnC,MAAM,EAAE,GAAG,IAAI,MAAM,CAAM,EAAE,OAAO,EAAE,IAAI,aAAa,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC;IACrH,OAAO;QACL,EAAE;QACF,MAAM;QACN,OAAO,EAAE,QAAQ;QACjB,UAAU,EAAE,gBAAgB,CAAC,EAAE,EAAE,IAAI,CAAC,iBAAiB,EAAE,QAAQ,CAAC;QAClE,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;QACjB,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC,CAAC;KACnH,CAAC;AACJ,CAAC"}
package/dist/step.js CHANGED
@@ -11,7 +11,7 @@
11
11
  * from: never introspection, never a guess.
12
12
  */
13
13
  import { sql } from 'kysely';
14
- import { same } from '@fougere/schema';
14
+ import { dequal } from 'dequal';
15
15
  import { compiler } from './ddl.js';
16
16
  import { toSnakeCase, toTableName } from './table.js';
17
17
  /**
@@ -173,12 +173,12 @@ function restated(entity, change) {
173
173
  const to = change.to ?? {};
174
174
  if (from.primary !== to.primary)
175
175
  return refuse(`primary moved — a key is not something a step may take from live rows`);
176
- if (!same(from.unique, to.unique)) {
176
+ if (!dequal(from.unique, to.unique)) {
177
177
  // The same reason `delta` cannot add one: CREATE UNIQUE INDEX fails on a table that
178
178
  // already holds duplicates, so it is a decision about the rows, not about the DDL.
179
179
  return refuse(`unique group moved — rows already stored may contradict it, so it is declared and applied by hand`);
180
180
  }
181
- if (!same(from.relation, to.relation))
181
+ if (!dequal(from.relation, to.relation))
182
182
  return refuse(`relation moved — a foreign key is a constraint, and nothing here alters one`);
183
183
  // What is left is the index, and only its appearance: the additive pass proposes every
184
184
  // declared index at every boot, and nothing has ever dropped one.
package/dist/step.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"step.js","sourceRoot":"","sources":["../src/step.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"step.js","sourceRoot":"","sources":["../src/step.ts"],"names":[],"mappings":"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"}