@metaobjectsdev/codegen-ts 0.24.5 → 1.0.0-rc.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.
Files changed (237) hide show
  1. package/README.md +37 -12
  2. package/dist/api-surface.d.ts +29 -0
  3. package/dist/api-surface.d.ts.map +1 -1
  4. package/dist/api-surface.js +47 -0
  5. package/dist/api-surface.js.map +1 -1
  6. package/dist/column-mapper.d.ts +12 -0
  7. package/dist/column-mapper.d.ts.map +1 -1
  8. package/dist/column-mapper.js +1 -0
  9. package/dist/column-mapper.js.map +1 -1
  10. package/dist/constants.d.ts +24 -11
  11. package/dist/constants.d.ts.map +1 -1
  12. package/dist/constants.js +54 -19
  13. package/dist/constants.js.map +1 -1
  14. package/dist/db-emitting.d.ts +6 -0
  15. package/dist/db-emitting.d.ts.map +1 -0
  16. package/dist/db-emitting.js +26 -0
  17. package/dist/db-emitting.js.map +1 -0
  18. package/dist/generator-registry.d.ts.map +1 -1
  19. package/dist/generator-registry.js +14 -1
  20. package/dist/generator-registry.js.map +1 -1
  21. package/dist/generator.d.ts +5 -0
  22. package/dist/generator.d.ts.map +1 -1
  23. package/dist/generator.js.map +1 -1
  24. package/dist/generators/agent-docs-file.d.ts +19 -0
  25. package/dist/generators/agent-docs-file.d.ts.map +1 -0
  26. package/dist/generators/agent-docs-file.js +257 -0
  27. package/dist/generators/agent-docs-file.js.map +1 -0
  28. package/dist/generators/agent-requirements-page.d.ts +22 -0
  29. package/dist/generators/agent-requirements-page.d.ts.map +1 -0
  30. package/dist/generators/agent-requirements-page.js +175 -0
  31. package/dist/generators/agent-requirements-page.js.map +1 -0
  32. package/dist/generators/agent-schema-input.d.ts +69 -0
  33. package/dist/generators/agent-schema-input.d.ts.map +1 -0
  34. package/dist/generators/agent-schema-input.js +23 -0
  35. package/dist/generators/agent-schema-input.js.map +1 -0
  36. package/dist/generators/agent-schema-page.d.ts +21 -0
  37. package/dist/generators/agent-schema-page.d.ts.map +1 -0
  38. package/dist/generators/agent-schema-page.js +241 -0
  39. package/dist/generators/agent-schema-page.js.map +1 -0
  40. package/dist/generators/agent-ui-page.d.ts +22 -0
  41. package/dist/generators/agent-ui-page.d.ts.map +1 -0
  42. package/dist/generators/agent-ui-page.js +253 -0
  43. package/dist/generators/agent-ui-page.js.map +1 -0
  44. package/dist/generators/api-docs-file.d.ts.map +1 -1
  45. package/dist/generators/api-docs-file.js +13 -6
  46. package/dist/generators/api-docs-file.js.map +1 -1
  47. package/dist/generators/api-model.d.ts +6 -0
  48. package/dist/generators/api-model.d.ts.map +1 -1
  49. package/dist/generators/api-model.js +54 -35
  50. package/dist/generators/api-model.js.map +1 -1
  51. package/dist/generators/callable-file.js +1 -1
  52. package/dist/generators/callable-file.js.map +1 -1
  53. package/dist/generators/docs-data-builder.d.ts.map +1 -1
  54. package/dist/generators/docs-data-builder.js +47 -2
  55. package/dist/generators/docs-data-builder.js.map +1 -1
  56. package/dist/generators/docs-data.d.ts +6 -2
  57. package/dist/generators/docs-data.d.ts.map +1 -1
  58. package/dist/generators/index.d.ts +3 -8
  59. package/dist/generators/index.d.ts.map +1 -1
  60. package/dist/generators/index.js +19 -14
  61. package/dist/generators/index.js.map +1 -1
  62. package/dist/generators/names-file.d.ts +17 -0
  63. package/dist/generators/names-file.d.ts.map +1 -0
  64. package/dist/generators/names-file.js +95 -0
  65. package/dist/generators/names-file.js.map +1 -0
  66. package/dist/generators/requirements-markdown.d.ts +18 -1
  67. package/dist/generators/requirements-markdown.d.ts.map +1 -1
  68. package/dist/generators/requirements-markdown.js +11 -9
  69. package/dist/generators/requirements-markdown.js.map +1 -1
  70. package/dist/generators/routes-file-hono.d.ts +17 -2
  71. package/dist/generators/routes-file-hono.d.ts.map +1 -1
  72. package/dist/generators/routes-file-hono.js +9 -11
  73. package/dist/generators/routes-file-hono.js.map +1 -1
  74. package/dist/generators/routes-file.d.ts +17 -2
  75. package/dist/generators/routes-file.d.ts.map +1 -1
  76. package/dist/generators/routes-file.js +10 -8
  77. package/dist/generators/routes-file.js.map +1 -1
  78. package/dist/generators/template-generator.d.ts.map +1 -1
  79. package/dist/generators/template-generator.js +20 -6
  80. package/dist/generators/template-generator.js.map +1 -1
  81. package/dist/index.d.ts +20 -5
  82. package/dist/index.d.ts.map +1 -1
  83. package/dist/index.js +43 -4
  84. package/dist/index.js.map +1 -1
  85. package/dist/metaobjects-config.d.ts +38 -1
  86. package/dist/metaobjects-config.d.ts.map +1 -1
  87. package/dist/metaobjects-config.js +9 -1
  88. package/dist/metaobjects-config.js.map +1 -1
  89. package/dist/names.d.ts +275 -0
  90. package/dist/names.d.ts.map +1 -0
  91. package/dist/names.js +433 -0
  92. package/dist/names.js.map +1 -0
  93. package/dist/overwrite-policy.d.ts.map +1 -1
  94. package/dist/overwrite-policy.js +15 -3
  95. package/dist/overwrite-policy.js.map +1 -1
  96. package/dist/projection/extract-view-spec.d.ts +25 -1
  97. package/dist/projection/extract-view-spec.d.ts.map +1 -1
  98. package/dist/projection/extract-view-spec.js +79 -6
  99. package/dist/projection/extract-view-spec.js.map +1 -1
  100. package/dist/reference-templates.d.ts +1 -1
  101. package/dist/reference-templates.d.ts.map +1 -1
  102. package/dist/reference-templates.js +1 -1
  103. package/dist/reference-templates.js.map +1 -1
  104. package/dist/render-context.d.ts +12 -1
  105. package/dist/render-context.d.ts.map +1 -1
  106. package/dist/render-context.js +1 -0
  107. package/dist/render-context.js.map +1 -1
  108. package/dist/retired-codegen-attrs.d.ts +32 -0
  109. package/dist/retired-codegen-attrs.d.ts.map +1 -0
  110. package/dist/retired-codegen-attrs.js +47 -0
  111. package/dist/retired-codegen-attrs.js.map +1 -0
  112. package/dist/routes-expose.d.ts +63 -0
  113. package/dist/routes-expose.d.ts.map +1 -0
  114. package/dist/routes-expose.js +57 -0
  115. package/dist/routes-expose.js.map +1 -0
  116. package/dist/runner.d.ts +18 -0
  117. package/dist/runner.d.ts.map +1 -1
  118. package/dist/runner.js +109 -7
  119. package/dist/runner.js.map +1 -1
  120. package/dist/templates/callable-file.d.ts +7 -2
  121. package/dist/templates/callable-file.d.ts.map +1 -1
  122. package/dist/templates/callable-file.js +54 -9
  123. package/dist/templates/callable-file.js.map +1 -1
  124. package/dist/templates/drizzle-schema.d.ts.map +1 -1
  125. package/dist/templates/drizzle-schema.js +236 -65
  126. package/dist/templates/drizzle-schema.js.map +1 -1
  127. package/dist/templates/entity-constants.d.ts +15 -6
  128. package/dist/templates/entity-constants.d.ts.map +1 -1
  129. package/dist/templates/entity-constants.js +85 -161
  130. package/dist/templates/entity-constants.js.map +1 -1
  131. package/dist/templates/entity-file.d.ts.map +1 -1
  132. package/dist/templates/entity-file.js +38 -4
  133. package/dist/templates/entity-file.js.map +1 -1
  134. package/dist/templates/entity-meta-file.d.ts +15 -1
  135. package/dist/templates/entity-meta-file.d.ts.map +1 -1
  136. package/dist/templates/entity-meta-file.js +12 -2
  137. package/dist/templates/entity-meta-file.js.map +1 -1
  138. package/dist/templates/entity-ui-descriptor.d.ts +112 -0
  139. package/dist/templates/entity-ui-descriptor.d.ts.map +1 -0
  140. package/dist/templates/entity-ui-descriptor.js +238 -0
  141. package/dist/templates/entity-ui-descriptor.js.map +1 -0
  142. package/dist/templates/field-meta.d.ts +46 -9
  143. package/dist/templates/field-meta.d.ts.map +1 -1
  144. package/dist/templates/field-meta.js +95 -21
  145. package/dist/templates/field-meta.js.map +1 -1
  146. package/dist/templates/names-decl.d.ts +38 -0
  147. package/dist/templates/names-decl.d.ts.map +1 -0
  148. package/dist/templates/names-decl.js +104 -0
  149. package/dist/templates/names-decl.js.map +1 -0
  150. package/dist/templates/projection-decl.d.ts +21 -0
  151. package/dist/templates/projection-decl.d.ts.map +1 -1
  152. package/dist/templates/projection-decl.js +53 -29
  153. package/dist/templates/projection-decl.js.map +1 -1
  154. package/dist/templates/queries-file.d.ts.map +1 -1
  155. package/dist/templates/queries-file.js +17 -2
  156. package/dist/templates/queries-file.js.map +1 -1
  157. package/dist/templates/requirement-test.d.ts.map +1 -1
  158. package/dist/templates/requirement-test.js +13 -2
  159. package/dist/templates/requirement-test.js.map +1 -1
  160. package/dist/templates/routes-file-hono.d.ts +2 -1
  161. package/dist/templates/routes-file-hono.d.ts.map +1 -1
  162. package/dist/templates/routes-file-hono.js +11 -2
  163. package/dist/templates/routes-file-hono.js.map +1 -1
  164. package/dist/templates/routes-file.d.ts +2 -1
  165. package/dist/templates/routes-file.d.ts.map +1 -1
  166. package/dist/templates/routes-file.js +54 -21
  167. package/dist/templates/routes-file.js.map +1 -1
  168. package/dist/templates/value-object-file.d.ts.map +1 -1
  169. package/dist/templates/value-object-file.js +15 -1
  170. package/dist/templates/value-object-file.js.map +1 -1
  171. package/dist/templates/view-decl.d.ts +37 -1
  172. package/dist/templates/view-decl.d.ts.map +1 -1
  173. package/dist/templates/view-decl.js +27 -3
  174. package/dist/templates/view-decl.js.map +1 -1
  175. package/dist/templates/zod-validators.d.ts +21 -0
  176. package/dist/templates/zod-validators.d.ts.map +1 -1
  177. package/dist/templates/zod-validators.js +40 -5
  178. package/dist/templates/zod-validators.js.map +1 -1
  179. package/dist/view-context.d.ts +24 -0
  180. package/dist/view-context.d.ts.map +1 -0
  181. package/dist/view-context.js +81 -0
  182. package/dist/view-context.js.map +1 -0
  183. package/package.json +6 -6
  184. package/src/api-surface.ts +53 -0
  185. package/src/column-mapper.ts +13 -0
  186. package/src/constants.ts +91 -16
  187. package/src/db-emitting.ts +31 -0
  188. package/src/generator-registry.ts +14 -4
  189. package/src/generator.ts +5 -0
  190. package/src/generators/agent-docs-file.ts +297 -0
  191. package/src/generators/agent-requirements-page.ts +199 -0
  192. package/src/generators/agent-schema-input.ts +88 -0
  193. package/src/generators/agent-schema-page.ts +297 -0
  194. package/src/generators/agent-ui-page.ts +290 -0
  195. package/src/generators/api-docs-file.ts +13 -6
  196. package/src/generators/api-model.ts +63 -34
  197. package/src/generators/callable-file.ts +1 -1
  198. package/src/generators/docs-data-builder.ts +46 -2
  199. package/src/generators/docs-data.ts +6 -2
  200. package/src/generators/index.ts +25 -14
  201. package/src/generators/names-file.ts +98 -0
  202. package/src/generators/requirements-markdown.ts +36 -2
  203. package/src/generators/routes-file-hono.ts +19 -10
  204. package/src/generators/routes-file.ts +20 -7
  205. package/src/generators/template-generator.ts +20 -6
  206. package/src/index.ts +64 -4
  207. package/src/metaobjects-config.ts +48 -2
  208. package/src/names.ts +629 -0
  209. package/src/overwrite-policy.ts +15 -3
  210. package/src/projection/extract-view-spec.ts +85 -6
  211. package/src/reference/entity.ts +21 -2
  212. package/src/reference/names.ts +125 -0
  213. package/src/reference/queries.ts +19 -3
  214. package/src/reference/routes-hono.ts +19 -9
  215. package/src/reference/routes.ts +25 -9
  216. package/src/reference-templates.ts +1 -1
  217. package/src/render-context.ts +13 -1
  218. package/src/retired-codegen-attrs.ts +52 -0
  219. package/src/routes-expose.ts +86 -0
  220. package/src/runner.ts +122 -11
  221. package/src/templates/callable-file.ts +60 -8
  222. package/src/templates/drizzle-schema.ts +248 -60
  223. package/src/templates/entity-constants.ts +95 -184
  224. package/src/templates/entity-file.ts +46 -4
  225. package/src/templates/entity-meta-file.ts +16 -3
  226. package/src/templates/entity-ui-descriptor.ts +305 -0
  227. package/src/templates/field-meta.ts +100 -19
  228. package/src/templates/names-decl.ts +165 -0
  229. package/src/templates/projection-decl.ts +72 -31
  230. package/src/templates/queries-file.ts +17 -2
  231. package/src/templates/requirement-test.ts +13 -2
  232. package/src/templates/routes-file-hono.ts +14 -2
  233. package/src/templates/routes-file.ts +69 -24
  234. package/src/templates/value-object-file.ts +15 -1
  235. package/src/templates/view-decl.ts +53 -3
  236. package/src/templates/zod-validators.ts +41 -5
  237. package/src/view-context.ts +88 -0
@@ -2,12 +2,14 @@
2
2
  // with FK .references() on FK columns derived from relationship children,
3
3
  // plus the relations() block auto-emitted at the end.
4
4
  import { code, imp, joinCode } from "ts-poet";
5
- import { MetaObject, MetaField, MetaIndex, stripPackage } from "@metaobjectsdev/metadata";
6
- import { FIELD_SUBTYPE_LONG, IDENTITY_ATTR_FIELDS, IDENTITY_ATTR_GENERATION, GENERATION_INCREMENT, GENERATION_UUID, FIELD_ATTR_AUTO_SET, FIELD_ATTR_OBJECT_REF, } from "@metaobjectsdev/metadata";
5
+ import { MetaObject, MetaField, MetaIndex, isMetaObject, stripPackage } from "@metaobjectsdev/metadata";
6
+ import { FIELD_SUBTYPE_LONG, IDENTITY_ATTR_FIELDS, IDENTITY_ATTR_GENERATION, IDENTITY_ATTR_EXPR, IDENTITY_ATTR_USING, IDENTITY_ATTR_ORDERS, IDENTITY_ATTR_WHERE, GENERATION_INCREMENT, GENERATION_UUID, FIELD_ATTR_AUTO_SET, FIELD_ATTR_OBJECT_REF, } from "@metaobjectsdev/metadata";
7
7
  import { fieldDeclaringPackage } from "../render-context.js";
8
8
  import { crossEntitySpecifier, valueObjectModuleSpecifier } from "../import-path.js";
9
9
  import { mapColumnType } from "../column-mapper.js";
10
- import { tableNameFromEntity, columnNameFromField } from "../naming.js";
10
+ import { tableNameFromEntity } from "../naming.js";
11
+ import { namesRef, physicalNameExpr, sourceSchemaExpr, indexNameExpr, columnExpr, } from "../names.js";
12
+ import { resolveTableSchema } from "@metaobjectsdev/metadata";
11
13
  import { renderRelationsBlock } from "./relations-block.js";
12
14
  import { renderDocsFor } from "./jsdoc.js";
13
15
  import { collectTphSubtypeFields } from "./tph-discriminator.js";
@@ -26,6 +28,77 @@ export function renderDrizzleSchema(obj, ctx) {
26
28
  const tableFnSym = imp(`${tableFn}@${importModule}`);
27
29
  const tableName = obj.dbTable ?? tableNameFromEntity(obj.name, ctx.columnNamingStrategy);
28
30
  const varName = ctx.collectionName(obj.name);
31
+ // §A6/§B2 — reference `<Entity>Names` instead of embedding the physical names a SECOND
32
+ // time. `namesRef` is undefined whenever the names generator is not active in this run
33
+ // (opt-in under ADR-0034 scaffold-and-own — an unconditional import would break every
34
+ // project that has not enabled it) or the object has no primary source — both PRESENCE
35
+ // guards. No per-site equality check: whenever the constant exists, it IS the name;
36
+ // `primaryRdbSource` (@metaobjectsdev/metadata) already refuses (throws) any object
37
+ // whose `@role: primary` sources disagree on a name, and BOTH branches reach it — the
38
+ // constant through `resolveObjectNames`, and `obj.dbTable` above on its own — so this
39
+ // file never has to re-check, and the literal arm is refused too rather than silently
40
+ // binding the inherited parent's table when the names generator is out of the run.
41
+ const names = namesRef(obj, ctx);
42
+ const tableNameExpr = physicalNameExpr(names, tableName, obj);
43
+ // @schema — the table binding must land in the SAME schema the migration creates the table
44
+ // in. migrate-ts qualifies every table, view, index and FK it emits (`CREATE TABLE
45
+ // "sales"."widgets"`), and under ADR-0015 it owns where a table lives; codegen dropping the
46
+ // schema meant generated queries hit `public.widgets` while the migration built
47
+ // `sales.widgets`. Whether that surfaced depended entirely on the adopter's `search_path`,
48
+ // which is the worst kind of bug — it works on the machine that has it configured.
49
+ //
50
+ // Drizzle expresses this with a DIFFERENT call shape rather than a third argument:
51
+ // `pgSchema("sales").table(name, …)`. It is built inline rather than hoisted to a `const`
52
+ // so two tables in one file sharing a schema cannot collide on a generated identifier; a
53
+ // schema object is just a descriptor, so a second call costs nothing.
54
+ //
55
+ // sqlite/d1 are excluded because SQLite has no schema concept at all — migrate already
56
+ // REFUSES a non-default @schema there (expected-schema.ts), so there is nothing to honour
57
+ // and no divergence to close.
58
+ const tableSchema = dialect === "sqlite" ? undefined : resolveTableSchema(obj);
59
+ const schemaExpr = tableSchema === undefined ? undefined
60
+ : sourceSchemaExpr(names) ?? code `${JSON.stringify(tableSchema)}`;
61
+ const tableCall = schemaExpr === undefined
62
+ ? code `${tableFnSym}`
63
+ : code `${imp(`pgSchema@${importModule}`)}(${schemaExpr}).table`;
64
+ // A column's constant, on the same terms — but resolved against the entity that DECLARES
65
+ // the field, which is not always `obj`. Under TPH the fold below emits a subtype's own
66
+ // columns into this base's table, and those columns live in the SUBTYPE's names artifact;
67
+ // looking them up in the base's finds nothing.
68
+ //
69
+ // This used to pass `names` for every column and call the resulting miss "normal". It was
70
+ // not: the base's artifact genuinely does not carry a subtype's column, so every TPH
71
+ // subtype column fell through to the literal while `<Sub>Names.fields.<f>.column` sat
72
+ // right there, already imported by the subtype's own artifact. C# never had the bug
73
+ // because its emitter passes the subtype entity to `ColumnRef`; this is that shape.
74
+ //
75
+ // `fromPackage` stays `obj.package` so the import path is computed relative to the file
76
+ // being emitted (this base's), not to the subtype's own package.
77
+ // THIS entity's artifact first. It already carries every INHERITED field — a concrete
78
+ // entity's artifact spreads its abstract parent's `fields` — so an `extends` chain needs
79
+ // no redirect, and taking one would be a regression: an abstract base has no source, so
80
+ // it has no artifact of its own to redirect TO, and the column would fall back to a
81
+ // literal that `obj`'s artifact was carrying all along.
82
+ //
83
+ // A miss here means the field belongs to a different entity ENTIRELY, which under TPH is
84
+ // exactly the subtype whose columns this base's table absorbs. Only then resolve against
85
+ // the declaring entity, found through the field's own parent link.
86
+ //
87
+ // `isMetaObject`, never `instanceof`: two physical copies of @metaobjectsdev/metadata in
88
+ // one process give the class object and the instance different identities, so the check
89
+ // would return false for a real node — silently.
90
+ const columnNameExpr = (field, dbName) => {
91
+ if (names === undefined || names.resolved.fields[field.name] !== undefined) {
92
+ return columnExpr(names, field.name, dbName);
93
+ }
94
+ const owner = field.parent;
95
+ // `fromPackage` is obj's: the import path is relative to the file being emitted (this
96
+ // base's), not to the subtype's own package.
97
+ const ownerNames = owner !== undefined && isMetaObject(owner) && owner !== obj
98
+ ? namesRef(owner, ctx, obj.package)
99
+ : undefined;
100
+ return columnExpr(ownerNames, field.name, dbName);
101
+ };
29
102
  const primary = obj.primaryIdentity();
30
103
  const rawPkFields = primary?.attr(IDENTITY_ATTR_FIELDS);
31
104
  const pkFieldsList = Array.isArray(rawPkFields)
@@ -39,20 +112,57 @@ export function renderDrizzleSchema(obj, ctx) {
39
112
  const isComposite = pkFieldNames.size > 1;
40
113
  // Collect secondary identities and the field names that need .unique() on
41
114
  // their column. identity.secondary is ALWAYS unique (no @unique attr) — only
42
- // single-column identities propagate .unique() to the column; multi-column ones
43
- // emit a callback uniqueIndex() entry instead.
44
- // index.lookup is non-unique and must NOT stamp .unique() on its columns.
115
+ // An `identity.secondary` reaches the table ONLY as the `uniqueIndex(...)` callback
116
+ // emitted further down — never additionally as `.unique()` on its column.
117
+ //
118
+ // It used to do both for a single-column identity, under a comment describing an
119
+ // either/or ("single-column identities propagate .unique() to the column; multi-column
120
+ // ones emit a callback uniqueIndex() entry instead") that the code did not implement:
121
+ // the callback loop has no column-count condition, so a one-column secondary got a
122
+ // column-level unique AND a table-level unique index. `migrate-ts` emits only the index
123
+ // for that shape — it mirrors a `<table>_<col>_unique` constraint for `@unique` fields
124
+ // and nothing extra for a secondary — so the generated schema declared a constraint the
125
+ // database does not have, and `drizzle-kit push` run against it proposes creating one.
126
+ //
127
+ // `.unique()` still comes from the FIELD's own `@unique`, via the column mapper, which
128
+ // is exactly the arm migrate mirrors.
45
129
  const secondaryIdentities = obj.secondaryIdentities();
46
- const uniqueFieldNames = new Set();
47
- for (const sec of secondaryIdentities) {
48
- const fields = sec.attr(IDENTITY_ATTR_FIELDS);
49
- if (!Array.isArray(fields) || fields.length !== 1)
50
- continue; // multi-col uniques use a callback uniqueIndex, not a column flag
51
- uniqueFieldNames.add(fields[0]);
52
- }
53
130
  const columnLines = [];
54
131
  // Collect CHECK constraints for enum columns; emitted as table-level check() callbacks.
55
132
  const checkConstraints = [];
133
+ /**
134
+ * One CHECK entry, composed against `<Entity>Names` when the artifact is in the run.
135
+ *
136
+ * #293 — migrate's `<table>_<col>_chk` is the shared convention and it is the AUTHORITY:
137
+ * its suffix form is systematic across five constraint kinds and those names are already
138
+ * in live databases, so flipping migrate instead would emit DROP/ADD CONSTRAINT churn
139
+ * against production for a cosmetic difference. Referencing the constants therefore
140
+ * composes the IDENTICAL string at runtime rather than changing the convention — the
141
+ * template literal below evaluates to exactly what the literal arm spells.
142
+ *
143
+ * The expression's column goes through `sql.raw`, not `sql.identifier`: the latter QUOTES
144
+ * the name, which changes the constraint text migrate compares against.
145
+ */
146
+ const checkEntry = (field, spec) => {
147
+ const colExpr = columnNameExpr(field, spec.dbName);
148
+ const values = spec.checkConstraintValues;
149
+ const sqlSym = imp("sql@drizzle-orm");
150
+ // No artifact in this run (the documented ADR-0034 opt-out) — spell both halves, which
151
+ // is what this file did unconditionally before.
152
+ if (names === undefined || values === undefined) {
153
+ return {
154
+ name: code `${JSON.stringify(`${tableName}_${spec.dbName}_chk`)}`,
155
+ expr: code `${spec.checkConstraint ?? ""}`,
156
+ };
157
+ }
158
+ // `\${` emits a literal `${` into the generated source: the name becomes a template
159
+ // literal and the expression an interpolation, both evaluated at run time in the
160
+ // consumer's code, where they produce the identical strings the literal arm spells.
161
+ return {
162
+ name: code `\`\${${tableNameExpr}}_\${${colExpr}}_chk\``,
163
+ expr: code `\${${sqlSym}.raw(${colExpr})} IN (${values})`,
164
+ };
165
+ };
56
166
  // Int-backed field.enum customType helpers, emitted ahead of the table. Keyed by
57
167
  // const name so a shared enum used by two fields of the SAME entity emits once.
58
168
  const enumIntTypes = new Map();
@@ -64,7 +174,6 @@ export function renderDrizzleSchema(obj, ctx) {
64
174
  if (child.isDerived())
65
175
  continue;
66
176
  const isPk = pkFieldNames.has(child.name);
67
- const isUnique = uniqueFieldNames.has(child.name) && !isPk;
68
177
  const fkInfo = fkMap.get(child.name);
69
178
  // Compute the column spec once per field and reuse it for both the column
70
179
  // line and the CHECK collection.
@@ -73,18 +182,10 @@ export function renderDrizzleSchema(obj, ctx) {
73
182
  enumIntTypes.set(spec.enumIntCustomType.fnConstName, spec.enumIntCustomType);
74
183
  }
75
184
  const fieldDocs = renderDocsFor(child);
76
- const columnLine = renderColumn(spec, child, ctx, isPk, pkGeneration, fkInfo, isComposite, isUnique, obj.package, obj.name);
185
+ const columnLine = renderColumn(spec, columnNameExpr(child, spec.dbName), child, ctx, isPk, pkGeneration, fkInfo, isComposite, obj.package, obj.name);
77
186
  columnLines.push(fieldDocs ? code ` ${fieldDocs}\n${columnLine}` : columnLine);
78
- if (spec.checkConstraint !== undefined) {
79
- checkConstraints.push({
80
- // #293 — migrate's `<table>_<col>_chk` is the shared convention, and it is the
81
- // authority: its suffix form is systematic across five constraint kinds and those
82
- // names are already in live databases, so flipping migrate instead would emit
83
- // DROP/ADD CONSTRAINT churn against production for a cosmetic difference.
84
- name: `${tableName}_${spec.dbName}_chk`,
85
- expr: spec.checkConstraint,
86
- });
87
- }
187
+ if (spec.checkConstraint !== undefined)
188
+ checkConstraints.push(checkEntry(child, spec));
88
189
  }
89
190
  // FR-017 Tier 2 — TPH single-table inheritance. When this entity is a
90
191
  // discriminator base, fold every concrete subtype's own columns into this
@@ -101,57 +202,123 @@ export function renderDrizzleSchema(obj, ctx) {
101
202
  enumIntTypes.set(spec.enumIntCustomType.fnConstName, spec.enumIntCustomType);
102
203
  }
103
204
  const fieldDocs = renderDocsFor(child);
104
- const columnLine = renderColumn(spec, child, ctx, false, undefined, fkMap.get(child.name), isComposite, false, obj.package, obj.name, true);
205
+ const columnLine = renderColumn(spec, columnNameExpr(child, spec.dbName), child, ctx, false, undefined, fkMap.get(child.name), isComposite, obj.package, obj.name, true);
105
206
  columnLines.push(fieldDocs ? code ` ${fieldDocs}\n${columnLine}` : columnLine);
106
207
  // Enum CHECK constraints stay valid under TPH: `NULL IN (...)` is NULL
107
208
  // (not false), so other-subtype rows with NULL pass the check.
108
- if (spec.checkConstraint !== undefined) {
109
- checkConstraints.push({
110
- // #293 — migrate's `<table>_<col>_chk` is the shared convention, and it is the
111
- // authority: its suffix form is systematic across five constraint kinds and those
112
- // names are already in live databases, so flipping migrate instead would emit
113
- // DROP/ADD CONSTRAINT churn against production for a cosmetic difference.
114
- name: `${tableName}_${spec.dbName}_chk`,
115
- expr: spec.checkConstraint,
116
- });
117
- }
209
+ if (spec.checkConstraint !== undefined)
210
+ checkConstraints.push(checkEntry(child, spec));
118
211
  }
119
212
  // Build all table callback entries
120
213
  const callbackEntries = [];
121
214
  if (isComposite && primary !== undefined) {
122
215
  callbackEntries.push(buildCompositeKeyCallback(pkFieldNames, importModule));
123
216
  }
217
+ /**
218
+ * One index callback entry, for BOTH `identity.secondary` (unique) and `index.lookup`
219
+ * (non-unique). The two shapes differ only in that boolean, and migrate treats their
220
+ * physical attributes identically — `@expr`/`@using`/`@orders`/`@where` are registered on
221
+ * both by the same provider — so they are emitted by ONE function here. They used to be
222
+ * two near-identical loops, which is how the physical attributes came to be honoured by
223
+ * neither: a rule written twice is a rule that can be forgotten twice.
224
+ *
225
+ * What was missing is a SHAPE divergence, not a naming one (the names were reconciled
226
+ * separately). An `@expr`-only index emitted NOTHING at all here, because both loops
227
+ * required a non-empty `@fields` — while migrate emits it, keying off `@expr`. And
228
+ * `@where` never reached this file, so a PARTIAL unique index read as a FULLY unique one
229
+ * in the generated schema: `drizzle-kit push` would propose replacing the database's
230
+ * partial index with a total one, and any diff written from generated source disagreed
231
+ * with the database over a difference that was not real. Same class as the sqlite
232
+ * emitter dropping these in 0.15.21.
233
+ */
234
+ const indexEntry = (
235
+ // `type`/`subType` as well as `name`: the index-name resolver and the artifact's
236
+ // `identities` / `indexes` collections both key off which KIND of node this is, and
237
+ // ADR-0040 put that distinction in the type rather than in an attribute.
238
+ node, fieldNames, unique) => {
239
+ const str = (n) => {
240
+ const raw = node.attr(n);
241
+ return typeof raw === "string" && raw.trim().length > 0 ? raw.trim() : undefined;
242
+ };
243
+ const expr = str(IDENTITY_ATTR_EXPR);
244
+ // An expression index keys off @expr; a plain one needs @fields. Mirrors migrate's
245
+ // `if (fieldNames.length === 0 && expr === undefined) continue`.
246
+ if (fieldNames.length === 0 && expr === undefined)
247
+ return undefined;
248
+ const sqlSym = imp("sql@drizzle-orm");
249
+ const indexSym = imp(`${unique ? "uniqueIndex" : "index"}@${importModule}`);
250
+ // @orders is positional against @fields; migrate only serializes it when at least one
251
+ // entry is `desc`, because an all-ascending array must be indistinguishable from no
252
+ // orders at all for diff stability. Match that exactly or the two disagree on a
253
+ // no-op.
254
+ const ordersRaw = node.attr(IDENTITY_ATTR_ORDERS);
255
+ const orders = Array.isArray(ordersRaw)
256
+ ? fieldNames.map((_, i) => (ordersRaw[i] === "desc" ? "desc" : "asc"))
257
+ : [];
258
+ const anyDesc = orders.some((o) => o === "desc");
259
+ const colRefs = fieldNames.map((f, i) => anyDesc ? `table.${f}.${orders[i] === "desc" ? "desc" : "asc"}()` : `table.${f}`);
260
+ // sqlite's `.on()` accepts only columns — no SQL — so an expression index is not
261
+ // expressible there. It is skipped rather than emitted wrong; migrate still creates it,
262
+ // and a Drizzle declaration that silently indexed a COLUMN instead of the expression
263
+ // would be a worse answer than an absent one.
264
+ if (expr !== undefined && dialect === "sqlite")
265
+ return undefined;
266
+ // @using selects the access method and takes the columns itself, so it REPLACES .on().
267
+ // Postgres-only: SQLite has no USING clause. migrate omits a `btree` value as the
268
+ // default, and so does this — emitting it would be a spurious difference.
269
+ const using = dialect === "sqlite" ? undefined : str(IDENTITY_ATTR_USING);
270
+ const target = expr !== undefined ? code `${sqlSym}\`${expr}\``
271
+ : code `${colRefs.join(", ")}`;
272
+ // The CONSTANT when the artifact is in the run, the literal otherwise — and the
273
+ // literal arm goes through `resolveIndexName` too, so the two paths answer with one
274
+ // function. Both halves matter: migrate's expected-schema resolves the same name and
275
+ // the two spelled it independently until now, which is how codegen came to declare
276
+ // `idx_<table>_<col>` against an index the database actually held under
277
+ // `identity.name` (fdb4118f1); and an empty `index.lookup` name — which the loader
278
+ // accepts, unlike an identity — is refused here rather than emitting `index("")`.
279
+ const indexName = indexNameExpr(names, node);
280
+ const head = using !== undefined && using !== "btree"
281
+ ? code `${indexSym}(${indexName}).using(${JSON.stringify(using)}, ${target})`
282
+ : code `${indexSym}(${indexName}).on(${target})`;
283
+ // @where — the partial-index predicate, available on both dialects.
284
+ const where = str(IDENTITY_ATTR_WHERE);
285
+ return where === undefined ? head : code `${head}.where(${sqlSym}\`${where}\`)`;
286
+ };
124
287
  // identity.secondary — always unique (uniqueness is in the type, no boolean).
125
288
  for (const sec of secondaryIdentities) {
126
289
  const fields = sec.attr(IDENTITY_ATTR_FIELDS);
127
- if (!Array.isArray(fields) || fields.length === 0)
128
- continue;
129
- const indexName = `idx_${tableName}_${fields.map((f) => columnNameFromField(f, ctx.columnNamingStrategy)).join("_")}`;
130
- const indexSym = imp(`uniqueIndex@${importModule}`);
131
- // Use the callback param `table` (not the outer varName) so TS doesn't see
290
+ // The identity's OWN name, which is what migrate puts in the database
291
+ // (`expected-schema.ts`, secondary-identity pass) and what `index.lookup` three
292
+ // blocks below already emits. This used to compose `idx_<table>_<col>...` by running
293
+ // the naming strategy over the FIELD names — two defects in one expression: the name
294
+ // disagreed with migrate's (so a DROP INDEX written from generated source failed, and
295
+ // any schema diff reported a difference that was not real), and running the strategy
296
+ // over a field NAME cannot see `@column`, so a declared physical column was invisible
297
+ // to it. Gated by `secondary-index-name-parity.test.ts`, whose fixture is de-blinded
298
+ // against exactly that second defect.
299
+ // Column refs use the callback param `table` (not the outer varName) so TS does not see
132
300
  // the table referencing itself inside its own initializer (TS7022/TS7024).
133
- const cols = fields.map((f) => `table.${f}`).join(", ");
134
- callbackEntries.push(code `${indexSym}(${JSON.stringify(indexName)}).on(${cols})`);
301
+ const entry = indexEntry(sec, Array.isArray(fields) ? fields : [], /* unique */ true);
302
+ if (entry !== undefined)
303
+ callbackEntries.push(entry);
135
304
  }
136
305
  // index.lookup — always non-unique. Use MetaIndex.fields() per ADR-0039.
137
306
  for (const lookup of obj.lookupIndexes()) {
138
- const fields = lookup.fields();
139
- if (fields.length === 0)
140
- continue;
141
- const indexSym = imp(`index@${importModule}`);
142
- const cols = fields.map((f) => `table.${f}`).join(", ");
143
- callbackEntries.push(code `${indexSym}(${JSON.stringify(lookup.name)}).on(${cols})`);
307
+ const entry = indexEntry(lookup, lookup.fields(), /* unique */ false);
308
+ if (entry !== undefined)
309
+ callbackEntries.push(entry);
144
310
  }
145
- // Emit table-level CHECK constraints for enum fields.
311
+ // Emit table-level CHECK constraints for enum fields. Both halves are composed by
312
+ // `checkEntry` above, which owns the constant-vs-literal decision for the pair.
146
313
  for (const { name, expr } of checkConstraints) {
147
314
  const checkSym = imp(`check@${importModule}`);
148
315
  const sqlSym = imp("sql@drizzle-orm");
149
- callbackEntries.push(code `${checkSym}(${JSON.stringify(name)}, ${sqlSym}\`${expr}\`)`);
316
+ callbackEntries.push(code `${checkSym}(${name}, ${sqlSym}\`${expr}\`)`);
150
317
  }
151
318
  let tableBlock;
152
319
  if (callbackEntries.length > 0) {
153
320
  tableBlock = code `
154
- export const ${varName} = ${tableFnSym}(${JSON.stringify(tableName)}, {
321
+ export const ${varName} = ${tableCall}(${tableNameExpr}, {
155
322
  ${joinCode(columnLines, { on: ",\n", trim: false })}
156
323
  }, (table) => [
157
324
  ${joinCode(callbackEntries, { on: ",\n ", trim: false })}
@@ -160,7 +327,7 @@ ${joinCode(columnLines, { on: ",\n", trim: false })}
160
327
  }
161
328
  else {
162
329
  tableBlock = code `
163
- export const ${varName} = ${tableFnSym}(${JSON.stringify(tableName)}, {
330
+ export const ${varName} = ${tableCall}(${tableNameExpr}, {
164
331
  ${joinCode(columnLines, { on: ",\n", trim: false })}
165
332
  });
166
333
  `;
@@ -278,7 +445,11 @@ function inlineObjectLiteral(obj) {
278
445
  return `{ ${entries.join(", ")} }`;
279
446
  }
280
447
  /** Render one column line (field name + Drizzle column expression). */
281
- function renderColumn(spec, field, ctx, isPk, pkGeneration, fkInfo, isComposite, isUnique = false, entityPackage = undefined,
448
+ function renderColumn(spec,
449
+ // §A6 — the column's physical name as an EXPRESSION: either the `<Entity>Names` constant
450
+ // or the same literal as before. Passed in rather than derived here so one call site owns
451
+ // the decision (and the equality check that makes it byte-safe).
452
+ dbNameExpr, field, ctx, isPk, pkGeneration, fkInfo, isComposite, entityPackage = undefined,
282
453
  // Name of the entity this column belongs to — used to detect a self-referential
283
454
  // FK (target entity === this entity), which Drizzle emits without a self-import.
284
455
  currentEntityName = "",
@@ -291,13 +462,12 @@ forceNullable = false) {
291
462
  const fnSym = spec.enumIntCustomType !== undefined
292
463
  ? spec.enumIntCustomType.fnConstName
293
464
  : imp(`${spec.fnName}@${spec.importModule}`);
294
- const dbNameLit = JSON.stringify(spec.dbName);
295
465
  let baseCall;
296
466
  if (spec.fnOptions !== undefined && Object.keys(spec.fnOptions).length > 0) {
297
- baseCall = code `${fnSym}(${dbNameLit}, ${inlineObjectLiteral(spec.fnOptions)})`;
467
+ baseCall = code `${fnSym}(${dbNameExpr}, ${inlineObjectLiteral(spec.fnOptions)})`;
298
468
  }
299
469
  else {
300
- baseCall = code `${fnSym}(${dbNameLit})`;
470
+ baseCall = code `${fnSym}(${dbNameExpr})`;
301
471
  }
302
472
  let pkSuffix = "";
303
473
  if (isPk) {
@@ -310,11 +480,11 @@ forceNullable = false) {
310
480
  // Postgres: bigserial for long (8-byte), serial for int (4-byte).
311
481
  if (field.subType === FIELD_SUBTYPE_LONG) {
312
482
  const bigserialSym = imp(`bigserial@${spec.importModule}`);
313
- baseCall = code `${bigserialSym}(${dbNameLit}, { mode: "number" })`;
483
+ baseCall = code `${bigserialSym}(${dbNameExpr}, { mode: "number" })`;
314
484
  }
315
485
  else {
316
486
  const serialSym = imp(`serial@${spec.importModule}`);
317
- baseCall = code `${serialSym}(${dbNameLit})`;
487
+ baseCall = code `${serialSym}(${dbNameExpr})`;
318
488
  }
319
489
  pkSuffix = isComposite ? "" : ".primaryKey()";
320
490
  }
@@ -332,17 +502,18 @@ forceNullable = false) {
332
502
  }
333
503
  }
334
504
  let modifiersStr = pkSuffix;
335
- // Append .unique() for secondary-identity fields (isPk guard already excluded PKs upstream).
336
- if (isUnique)
337
- modifiersStr += ".unique()";
505
+ // No `isUnique` parameter here any more, and its absence is the fix rather than a tidy-up.
506
+ // A single-column `identity.secondary` used to append `.unique()` on top of the constraint
507
+ // migrate already emits under the identity's own name, so codegen declared one constraint
508
+ // the database does not have. When that producer was removed both call sites started
509
+ // passing a literal `false`, leaving a parameter whose every branch was unreachable — a
510
+ // dead switch that reads like a live one. `spec.modifiers` carries whatever uniqueness the
511
+ // column genuinely has, and the loop below is the only thing that applies it.
338
512
  for (const m of spec.modifiers) {
339
513
  // Single-column PKs imply notNull/unique; avoid emitting them twice.
340
514
  // Composite-PK columns are NOT declared with .primaryKey(), so they DO need .notNull().
341
515
  if (isPk && !isComposite && (m === ".notNull()" || m === ".unique()"))
342
516
  continue;
343
- // Avoid double-emitting .unique() if it was already appended above.
344
- if (isUnique && m === ".unique()")
345
- continue;
346
517
  // TPH subtype-only column: never .notNull() / .unique() — rows of other
347
518
  // subtypes store NULL, so neither constraint can hold across the table.
348
519
  if (forceNullable && (m === ".notNull()" || m === ".unique()"))
@@ -1 +1 @@
1
- {"version":3,"file":"drizzle-schema.js","sourceRoot":"","sources":["../../src/templates/drizzle-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"drizzle-schema.js","sourceRoot":"","sources":["../../src/templates/drizzle-schema.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,20 @@
1
1
  import { type Code } from "ts-poet";
2
- import type { MetaData } from "@metaobjectsdev/metadata";
3
2
  import { MetaObject } from "@metaobjectsdev/metadata";
3
+ import { resourcePath } from "./entity-ui-descriptor.js";
4
+ export { resourcePath };
5
+ export declare function renderEntityConstants(obj: MetaObject,
4
6
  /**
5
- * REST resource path for an entity. Pluralized + snake_cased + lowercased.
6
- * "Subscriber" "/subscribers"
7
- * "WorkoutEvent" "/workout_events"
7
+ * @deprecated Accepted and IGNORED. The API base URL left the descriptor: generated
8
+ * client artifacts emit entity-relative paths and the base is supplied once at the
9
+ * client provider (`baseUrl`), because where the browser sends a request is a
10
+ * deployment fact rather than something to freeze at `meta gen` time.
11
+ *
12
+ * It must STAY in the signature: `src/reference/entity.ts` is copied verbatim into
13
+ * adopter repos (ADR-0034) and calls this positionally, so removing the parameter
14
+ * would fail to compile in every ejected copy. Removal is a separate later break.
8
15
  */
9
- export declare function resourcePath(entity: MetaData): string;
10
- export declare function renderEntityConstants(obj: MetaObject, apiPrefix?: string): Code;
16
+ _apiPrefix?: string, names?: {
17
+ readonly name: string;
18
+ readonly symbol: Code;
19
+ } | undefined): Code;
11
20
  //# sourceMappingURL=entity-constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"entity-constants.d.ts","sourceRoot":"","sources":["../../src/templates/entity-constants.ts"],"names":[],"mappings":"AA8BA,OAAO,EAAQ,KAAK,IAAI,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,UAAU,EAAa,MAAM,0BAA0B,CAAC;AAgCjE;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,QAAQ,GAAG,MAAM,CAOrD;AAuID,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,UAAU,EAAE,SAAS,SAAK,GAAG,IAAI,CAwC3E"}
1
+ {"version":3,"file":"entity-constants.d.ts","sourceRoot":"","sources":["../../src/templates/entity-constants.ts"],"names":[],"mappings":"AA4BA,OAAO,EAAkB,KAAK,IAAI,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAGtD,OAAO,EAEL,YAAY,EAGb,MAAM,2BAA2B,CAAC;AAKnC,OAAO,EAAE,YAAY,EAAE,CAAC;AA6CxB,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,UAAU;AACf;;;;;;;;;GASG;AACH,UAAU,SAAK,EAIf,KAAK,CAAC,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAA;CAAE,GAAG,SAAS,GACnE,IAAI,CA0DN"}