@c9up/atlas 0.1.19 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (250) hide show
  1. package/README.md +63 -14
  2. package/db.darwin-arm64.node +0 -0
  3. package/db.darwin-x64.node +0 -0
  4. package/db.linux-arm64-gnu.node +0 -0
  5. package/db.linux-x64-gnu.node +0 -0
  6. package/db.win32-x64-msvc.node +0 -0
  7. package/dist/AtlasProvider.d.ts +66 -7
  8. package/dist/AtlasProvider.d.ts.map +1 -1
  9. package/dist/AtlasProvider.js +205 -39
  10. package/dist/AtlasProvider.js.map +1 -1
  11. package/dist/BaseEntity.d.ts +181 -5
  12. package/dist/BaseEntity.d.ts.map +1 -1
  13. package/dist/BaseEntity.js +339 -33
  14. package/dist/BaseEntity.js.map +1 -1
  15. package/dist/BaseModel.d.ts +127 -0
  16. package/dist/BaseModel.d.ts.map +1 -0
  17. package/dist/BaseModel.js +250 -0
  18. package/dist/BaseModel.js.map +1 -0
  19. package/dist/BaseRepository.d.ts +81 -15
  20. package/dist/BaseRepository.d.ts.map +1 -1
  21. package/dist/BaseRepository.js +1433 -387
  22. package/dist/BaseRepository.js.map +1 -1
  23. package/dist/ConnectionManager.d.ts +106 -0
  24. package/dist/ConnectionManager.d.ts.map +1 -0
  25. package/dist/ConnectionManager.js +228 -0
  26. package/dist/ConnectionManager.js.map +1 -0
  27. package/dist/ModelQuery.d.ts +577 -41
  28. package/dist/ModelQuery.d.ts.map +1 -1
  29. package/dist/ModelQuery.js +2188 -291
  30. package/dist/ModelQuery.js.map +1 -1
  31. package/dist/Transaction.d.ts +71 -1
  32. package/dist/Transaction.d.ts.map +1 -1
  33. package/dist/Transaction.js +138 -24
  34. package/dist/Transaction.js.map +1 -1
  35. package/dist/adapters/NapiDbAdapter.d.ts +44 -4
  36. package/dist/adapters/NapiDbAdapter.d.ts.map +1 -1
  37. package/dist/adapters/NapiDbAdapter.js +131 -13
  38. package/dist/adapters/NapiDbAdapter.js.map +1 -1
  39. package/dist/console/contract.d.ts +62 -0
  40. package/dist/console/contract.d.ts.map +1 -0
  41. package/dist/console/contract.js +38 -0
  42. package/dist/console/contract.js.map +1 -0
  43. package/dist/console/factoryCommands.d.ts +23 -0
  44. package/dist/console/factoryCommands.d.ts.map +1 -0
  45. package/dist/console/factoryCommands.js +62 -0
  46. package/dist/console/factoryCommands.js.map +1 -0
  47. package/dist/console/migrationCommands.d.ts +78 -0
  48. package/dist/console/migrationCommands.d.ts.map +1 -0
  49. package/dist/console/migrationCommands.js +327 -0
  50. package/dist/console/migrationCommands.js.map +1 -0
  51. package/dist/console/schemaCheckCommand.d.ts +11 -17
  52. package/dist/console/schemaCheckCommand.d.ts.map +1 -1
  53. package/dist/console/schemaCheckCommand.js +21 -15
  54. package/dist/console/schemaCheckCommand.js.map +1 -1
  55. package/dist/console/schemaDumpCommand.d.ts +30 -0
  56. package/dist/console/schemaDumpCommand.d.ts.map +1 -0
  57. package/dist/console/schemaDumpCommand.js +69 -0
  58. package/dist/console/schemaDumpCommand.js.map +1 -0
  59. package/dist/console/schemaGenerateCommand.d.ts +100 -0
  60. package/dist/console/schemaGenerateCommand.d.ts.map +1 -0
  61. package/dist/console/schemaGenerateCommand.js +246 -0
  62. package/dist/console/schemaGenerateCommand.js.map +1 -0
  63. package/dist/console/seederCommands.d.ts +46 -0
  64. package/dist/console/seederCommands.d.ts.map +1 -0
  65. package/dist/console/seederCommands.js +136 -0
  66. package/dist/console/seederCommands.js.map +1 -0
  67. package/dist/decorators/entity.d.ts +50 -8
  68. package/dist/decorators/entity.d.ts.map +1 -1
  69. package/dist/decorators/entity.js +42 -2
  70. package/dist/decorators/entity.js.map +1 -1
  71. package/dist/decorators/hooks.d.ts +3 -3
  72. package/dist/decorators/hooks.d.ts.map +1 -1
  73. package/dist/decorators/hooks.js.map +1 -1
  74. package/dist/events.d.ts +69 -0
  75. package/dist/events.d.ts.map +1 -0
  76. package/dist/events.js +82 -0
  77. package/dist/events.js.map +1 -0
  78. package/dist/factories.d.ts +8 -0
  79. package/dist/factories.d.ts.map +1 -0
  80. package/dist/factories.js +8 -0
  81. package/dist/factories.js.map +1 -0
  82. package/dist/index.d.ts +15 -5
  83. package/dist/index.d.ts.map +1 -1
  84. package/dist/index.js +14 -3
  85. package/dist/index.js.map +1 -1
  86. package/dist/lucid-schema.d.ts +15 -0
  87. package/dist/lucid-schema.d.ts.map +1 -0
  88. package/dist/lucid-schema.js +16 -0
  89. package/dist/lucid-schema.js.map +1 -0
  90. package/dist/metadata-keys.d.ts +3 -2
  91. package/dist/metadata-keys.d.ts.map +1 -1
  92. package/dist/naming/NamingStrategy.d.ts +7 -0
  93. package/dist/naming/NamingStrategy.d.ts.map +1 -1
  94. package/dist/naming/NamingStrategy.js +16 -0
  95. package/dist/naming/NamingStrategy.js.map +1 -1
  96. package/dist/orm.d.ts +14 -0
  97. package/dist/orm.d.ts.map +1 -0
  98. package/dist/orm.js +14 -0
  99. package/dist/orm.js.map +1 -0
  100. package/dist/query/DatabaseQueryBuilder.d.ts +557 -0
  101. package/dist/query/DatabaseQueryBuilder.d.ts.map +1 -0
  102. package/dist/query/DatabaseQueryBuilder.js +1798 -0
  103. package/dist/query/DatabaseQueryBuilder.js.map +1 -0
  104. package/dist/query/DmlBuilder.d.ts +62 -0
  105. package/dist/query/DmlBuilder.d.ts.map +1 -0
  106. package/dist/query/DmlBuilder.js +84 -0
  107. package/dist/query/DmlBuilder.js.map +1 -0
  108. package/dist/query/QueryBuilder.d.ts +5 -0
  109. package/dist/query/QueryBuilder.d.ts.map +1 -1
  110. package/dist/query/QueryBuilder.js +7 -0
  111. package/dist/query/QueryBuilder.js.map +1 -1
  112. package/dist/query/RawQueryBuilder.d.ts +47 -0
  113. package/dist/query/RawQueryBuilder.d.ts.map +1 -0
  114. package/dist/query/RawQueryBuilder.js +138 -0
  115. package/dist/query/RawQueryBuilder.js.map +1 -0
  116. package/dist/query/interpolate.d.ts +45 -0
  117. package/dist/query/interpolate.d.ts.map +1 -0
  118. package/dist/query/interpolate.js +51 -0
  119. package/dist/query/interpolate.js.map +1 -0
  120. package/dist/query/native.d.ts +8 -0
  121. package/dist/query/native.d.ts.map +1 -1
  122. package/dist/query/native.js +14 -0
  123. package/dist/query/native.js.map +1 -1
  124. package/dist/query/operators.d.ts +4 -0
  125. package/dist/query/operators.d.ts.map +1 -0
  126. package/dist/query/operators.js +27 -0
  127. package/dist/query/operators.js.map +1 -0
  128. package/dist/schema/Migration.d.ts +50 -3
  129. package/dist/schema/Migration.d.ts.map +1 -1
  130. package/dist/schema/Migration.js +60 -24
  131. package/dist/schema/Migration.js.map +1 -1
  132. package/dist/schema/MigrationRunner.d.ts +95 -34
  133. package/dist/schema/MigrationRunner.d.ts.map +1 -1
  134. package/dist/schema/MigrationRunner.js +523 -68
  135. package/dist/schema/MigrationRunner.js.map +1 -1
  136. package/dist/schema/Schema.d.ts +114 -0
  137. package/dist/schema/Schema.d.ts.map +1 -1
  138. package/dist/schema/Schema.js +272 -3
  139. package/dist/schema/Schema.js.map +1 -1
  140. package/dist/schema/SchemaDumper.d.ts +121 -0
  141. package/dist/schema/SchemaDumper.d.ts.map +1 -0
  142. package/dist/schema/SchemaDumper.js +365 -0
  143. package/dist/schema/SchemaDumper.js.map +1 -0
  144. package/dist/schema/Seeder.d.ts +13 -0
  145. package/dist/schema/Seeder.d.ts.map +1 -1
  146. package/dist/schema/Seeder.js +28 -5
  147. package/dist/schema/Seeder.js.map +1 -1
  148. package/dist/schema/TableBuilder.d.ts +274 -16
  149. package/dist/schema/TableBuilder.d.ts.map +1 -1
  150. package/dist/schema/TableBuilder.js +656 -52
  151. package/dist/schema/TableBuilder.js.map +1 -1
  152. package/dist/schema/catalog.d.ts +71 -0
  153. package/dist/schema/catalog.d.ts.map +1 -0
  154. package/dist/schema/catalog.js +158 -0
  155. package/dist/schema/catalog.js.map +1 -0
  156. package/dist/schema/introspect.d.ts +1 -1
  157. package/dist/schema/introspect.d.ts.map +1 -1
  158. package/dist/schema/introspect.js +26 -11
  159. package/dist/schema/introspect.js.map +1 -1
  160. package/dist/schema/types.d.ts +150 -1
  161. package/dist/schema/types.d.ts.map +1 -1
  162. package/dist/schema/types.js +11 -0
  163. package/dist/schema/types.js.map +1 -1
  164. package/dist/seeders.d.ts +7 -0
  165. package/dist/seeders.d.ts.map +1 -0
  166. package/dist/seeders.js +7 -0
  167. package/dist/seeders.js.map +1 -0
  168. package/dist/services/db.d.ts +122 -5
  169. package/dist/services/db.d.ts.map +1 -1
  170. package/dist/services/db.js +187 -14
  171. package/dist/services/db.js.map +1 -1
  172. package/dist/testing/DatabaseCleanup.d.ts +33 -7
  173. package/dist/testing/DatabaseCleanup.d.ts.map +1 -1
  174. package/dist/testing/DatabaseCleanup.js +54 -24
  175. package/dist/testing/DatabaseCleanup.js.map +1 -1
  176. package/dist/testing/DbAssertions.d.ts +48 -0
  177. package/dist/testing/DbAssertions.d.ts.map +1 -0
  178. package/dist/testing/DbAssertions.js +80 -0
  179. package/dist/testing/DbAssertions.js.map +1 -0
  180. package/dist/testing/Factory.d.ts +166 -15
  181. package/dist/testing/Factory.d.ts.map +1 -1
  182. package/dist/testing/Factory.js +497 -23
  183. package/dist/testing/Factory.js.map +1 -1
  184. package/dist/testing/TestUtils.d.ts +49 -0
  185. package/dist/testing/TestUtils.d.ts.map +1 -0
  186. package/dist/testing/TestUtils.js +79 -0
  187. package/dist/testing/TestUtils.js.map +1 -0
  188. package/dist/testing/index.d.ts +3 -1
  189. package/dist/testing/index.d.ts.map +1 -1
  190. package/dist/testing/index.js +3 -1
  191. package/dist/testing/index.js.map +1 -1
  192. package/dist/types/relations.d.ts +31 -0
  193. package/dist/types/relations.d.ts.map +1 -0
  194. package/dist/types/relations.js +20 -0
  195. package/dist/types/relations.js.map +1 -0
  196. package/index.darwin-arm64.node +0 -0
  197. package/index.darwin-x64.node +0 -0
  198. package/index.linux-arm64-gnu.node +0 -0
  199. package/index.linux-x64-gnu.node +0 -0
  200. package/index.win32-x64-msvc.node +0 -0
  201. package/package.json +32 -2
  202. package/scripts/guard-publish.mjs +15 -0
  203. package/src/AtlasProvider.ts +305 -52
  204. package/src/BaseEntity.ts +460 -41
  205. package/src/BaseModel.ts +461 -0
  206. package/src/BaseRepository.ts +1710 -421
  207. package/src/ConnectionManager.ts +298 -0
  208. package/src/ModelQuery.ts +2998 -335
  209. package/src/Transaction.ts +227 -30
  210. package/src/adapters/NapiDbAdapter.ts +224 -17
  211. package/src/console/contract.ts +96 -0
  212. package/src/console/factoryCommands.ts +73 -0
  213. package/src/console/migrationCommands.ts +448 -0
  214. package/src/console/schemaCheckCommand.ts +26 -22
  215. package/src/console/schemaDumpCommand.ts +96 -0
  216. package/src/console/schemaGenerateCommand.ts +380 -0
  217. package/src/console/seederCommands.ts +174 -0
  218. package/src/decorators/entity.ts +71 -8
  219. package/src/decorators/hooks.ts +5 -3
  220. package/src/events.ts +117 -0
  221. package/src/factories.ts +10 -0
  222. package/src/index.ts +69 -3
  223. package/src/lucid-schema.ts +22 -0
  224. package/src/metadata-keys.ts +3 -2
  225. package/src/naming/NamingStrategy.ts +23 -0
  226. package/src/orm.ts +13 -0
  227. package/src/query/DatabaseQueryBuilder.ts +2724 -0
  228. package/src/query/DmlBuilder.ts +131 -0
  229. package/src/query/QueryBuilder.ts +8 -0
  230. package/src/query/RawQueryBuilder.ts +173 -0
  231. package/src/query/interpolate.ts +73 -0
  232. package/src/query/native.ts +29 -0
  233. package/src/query/operators.ts +27 -0
  234. package/src/schema/Migration.ts +71 -3
  235. package/src/schema/MigrationRunner.ts +676 -69
  236. package/src/schema/Schema.ts +359 -3
  237. package/src/schema/SchemaDumper.ts +518 -0
  238. package/src/schema/Seeder.ts +47 -10
  239. package/src/schema/TableBuilder.ts +783 -52
  240. package/src/schema/catalog.ts +236 -0
  241. package/src/schema/introspect.ts +26 -9
  242. package/src/schema/types.ts +137 -2
  243. package/src/seeders.ts +16 -0
  244. package/src/services/db.ts +361 -21
  245. package/src/testing/DatabaseCleanup.ts +78 -25
  246. package/src/testing/DbAssertions.ts +127 -0
  247. package/src/testing/Factory.ts +837 -40
  248. package/src/testing/TestUtils.ts +123 -0
  249. package/src/testing/index.ts +12 -1
  250. package/src/types/relations.ts +43 -0
@@ -1 +1 @@
1
- {"version":3,"file":"MigrationRunner.js","sourceRoot":"","sources":["../../src/schema/MigrationRunner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MigrationRunner.js","sourceRoot":"","sources":["../../src/schema/MigrationRunner.ts"],"names":[],"mappings":"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"}
@@ -7,16 +7,130 @@
7
7
  * @implements FR34
8
8
  */
9
9
  import { type AtlasDialect } from "../query/native.js";
10
+ import { type CatalogConnection } from "./catalog.js";
10
11
  import { TableBuilder } from "./TableBuilder.js";
11
12
  export declare class Schema {
12
13
  #private;
13
14
  constructor(dialect?: AtlasDialect);
15
+ /**
16
+ * Qualify subsequent table names with `name` (Adonis Lucid/Knex
17
+ * `withSchema`), e.g. `withSchema('reporting').createTable('t', …)` targets
18
+ * `"reporting"."t"`. Applies to every table-taking method until changed; the
19
+ * Rust compiler quotes each dotted segment. Chainable.
20
+ */
21
+ withSchema(name: string): this;
22
+ /**
23
+ * Attach a live connection so the async introspection helpers
24
+ * ({@link hasTable}/{@link hasColumn}) can query the catalog. The migration
25
+ * runner calls this before running a migration's `up`/`down`.
26
+ */
27
+ bindConnection(connection: CatalogConnection): void;
28
+ /**
29
+ * Does this table exist right now? (Adonis Lucid/Knex `hasTable`.) Runs a
30
+ * live catalog query, so it reflects migrations already applied — but NOT
31
+ * statements this same migration has only buffered (they run after `up`).
32
+ * Requires a bound connection (present inside a migration).
33
+ */
34
+ hasTable(name: string): Promise<boolean>;
35
+ /** Does this column exist on this table right now? (Adonis Lucid/Knex `hasColumn`.) */
36
+ hasColumn(table: string, column: string): Promise<boolean>;
14
37
  createTable(name: string, callback: (table: TableBuilder) => void): this;
38
+ /** `CREATE TABLE IF NOT EXISTS` (Lucid/Knex `createTableIfNotExists`). */
39
+ createTableIfNotExists(name: string, callback: (table: TableBuilder) => void): this;
40
+ /**
41
+ * `ALTER TABLE` (Lucid/Knex `alterTable`, also spelled `table()`). Inside
42
+ * the callback a column-type method adds a column, `.alter()` changes one,
43
+ * and `dropColumn` / `renameColumn` / `setNullable` / `dropNullable` do
44
+ * what they say. Operations compile in call order.
45
+ */
46
+ alterTable(name: string, callback: (table: TableBuilder) => void): this;
47
+ /** Alias of {@link alterTable} (Lucid/Knex `table()`). */
48
+ table(name: string, callback: (table: TableBuilder) => void): this;
49
+ /** `ALTER TABLE old RENAME TO new` (Lucid/Knex `renameTable`). */
50
+ renameTable(from: string, to: string): this;
51
+ /** `DROP TABLE` — errors if the table is missing (Adonis Lucid/Knex `dropTable`). */
15
52
  dropTable(name: string): this;
53
+ /** `DROP TABLE IF EXISTS` — a no-op when missing (Lucid/Knex `dropTableIfExists`). */
54
+ dropTableIfExists(name: string): this;
55
+ /**
56
+ * `CREATE SCHEMA` (Lucid/Knex `createSchema`). Postgres and MySQL (where a
57
+ * schema is a database); rejected on SQLite, which has no schemas.
58
+ */
59
+ createSchema(name: string): this;
60
+ /** `CREATE SCHEMA IF NOT EXISTS` (Lucid/Knex `createSchemaIfNotExists`). */
61
+ createSchemaIfNotExists(name: string): this;
62
+ /** `DROP SCHEMA [CASCADE]` (Lucid/Knex `dropSchema`). CASCADE is Postgres-only. */
63
+ dropSchema(name: string, cascade?: boolean): this;
64
+ /** `DROP SCHEMA IF EXISTS [CASCADE]` (Lucid/Knex `dropSchemaIfExists`). */
65
+ dropSchemaIfExists(name: string, cascade?: boolean): this;
66
+ /**
67
+ * `CREATE TABLE new LIKE old` (Lucid/Knex `createTableLike`) — copy a table's
68
+ * structure. Postgres copies everything (`INCLUDING ALL`), MySQL uses `LIKE`,
69
+ * SQLite copies COLUMNS ONLY (`AS SELECT … WHERE 0` — no constraints/indexes,
70
+ * the same limitation Knex documents).
71
+ */
72
+ createTableLike(name: string, likeTable: string, callback?: (table: TableBuilder) => void): this;
73
+ /**
74
+ * `ALTER VIEW` (Lucid/Knex `alterView`) — rename a view's columns via the
75
+ * callback (`view.column('id').rename('user_id')`). Postgres only: MySQL/SQLite
76
+ * can't rename view columns in place, so drop and re-create the view there.
77
+ */
78
+ alterView(name: string, callback: (view: AlterViewBuilder) => void): this;
79
+ /** Alias of {@link alterView} (Lucid/Knex `view`). */
80
+ view(name: string, callback: (view: AlterViewBuilder) => void): this;
16
81
  createIndex(table: string, columns: string | string[], name?: string, unique?: boolean): this;
17
82
  dropIndex(name: string): this;
83
+ /**
84
+ * `CREATE VIEW name [(cols)] AS <select>` (Lucid/Knex `createView`). The
85
+ * `select` is raw, developer-authored SQL — same trust level as {@link raw} —
86
+ * embedded verbatim; the view name and column list are validated + quoted by
87
+ * the Rust compiler.
88
+ */
89
+ createView(name: string, select: string, options?: {
90
+ columns?: string[];
91
+ }): this;
92
+ /** `CREATE OR REPLACE VIEW` (Lucid/Knex `createViewOrReplace`). Rejected on SQLite. */
93
+ createViewOrReplace(name: string, select: string, options?: {
94
+ columns?: string[];
95
+ }): this;
96
+ /** `CREATE MATERIALIZED VIEW` (Lucid/Knex `createMaterializedView`). Postgres-only. */
97
+ createMaterializedView(name: string, select: string, options?: {
98
+ columns?: string[];
99
+ }): this;
100
+ /** `DROP VIEW` — errors if missing (Lucid/Knex `dropView`). */
101
+ dropView(name: string): this;
102
+ /** `DROP VIEW IF EXISTS` — a no-op when missing (Lucid/Knex `dropViewIfExists`). */
103
+ dropViewIfExists(name: string): this;
104
+ /** `DROP MATERIALIZED VIEW` (Lucid/Knex). Postgres-only. */
105
+ dropMaterializedView(name: string): this;
106
+ /** `DROP MATERIALIZED VIEW IF EXISTS` (Lucid/Knex). Postgres-only. */
107
+ dropMaterializedViewIfExists(name: string): this;
108
+ /**
109
+ * Rename a view (Lucid/Knex `renameView`). Postgres `ALTER VIEW … RENAME TO`,
110
+ * MySQL `RENAME TABLE`; SQLite can't rename a view (drop and re-create).
111
+ */
112
+ renameView(from: string, to: string): this;
113
+ /**
114
+ * `REFRESH MATERIALIZED VIEW [CONCURRENTLY]` (Lucid/Knex
115
+ * `refreshMaterializedView`). Postgres-only.
116
+ */
117
+ refreshMaterializedView(name: string, concurrently?: boolean): this;
18
118
  raw(sql: string): this;
19
119
  reset(): void;
20
120
  toSQL(): string[];
21
121
  }
122
+ /**
123
+ * Callback builder for {@link Schema.alterView} — collects column renames
124
+ * (Adonis Lucid `view.column('id').rename('user_id')`).
125
+ */
126
+ export declare class AlterViewBuilder {
127
+ readonly renames: Array<{
128
+ from: string;
129
+ to: string;
130
+ }>;
131
+ /** Target a view column; `.rename(to)` queues its rename. */
132
+ column(name: string): {
133
+ rename(to: string): void;
134
+ };
135
+ }
22
136
  //# sourceMappingURL=Schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../../src/schema/Schema.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACN,KAAK,YAAY,EAGjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,qBAAa,MAAM;;gBAIN,OAAO,GAAE,YAAgC;IAIrD,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,GAAG,IAAI;IAOxE,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAS7B,WAAW,CACV,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,EAC1B,IAAI,CAAC,EAAE,MAAM,EACb,MAAM,UAAQ,GACZ,IAAI;IAWP,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAS7B,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAKtB,KAAK,IAAI,IAAI;IAIb,KAAK,IAAI,MAAM,EAAE;CAGjB"}
1
+ {"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../../src/schema/Schema.ts"],"names":[],"mappings":"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"}
@@ -7,28 +7,196 @@
7
7
  * @implements FR34
8
8
  */
9
9
  import { compileStatementNative, getAtlasDialect, } from "../query/native.js";
10
+ import { columnExists, tableExists, } from "./catalog.js";
10
11
  import { TableBuilder } from "./TableBuilder.js";
11
12
  export class Schema {
12
13
  #dialect;
13
14
  #statements = [];
15
+ #connection;
16
+ #schemaName;
14
17
  constructor(dialect = getAtlasDialect()) {
15
18
  this.#dialect = dialect;
16
19
  }
20
+ /**
21
+ * Qualify subsequent table names with `name` (Adonis Lucid/Knex
22
+ * `withSchema`), e.g. `withSchema('reporting').createTable('t', …)` targets
23
+ * `"reporting"."t"`. Applies to every table-taking method until changed; the
24
+ * Rust compiler quotes each dotted segment. Chainable.
25
+ */
26
+ withSchema(name) {
27
+ this.#schemaName = name;
28
+ return this;
29
+ }
30
+ /** Prefix a table name with the active schema, if one was set. */
31
+ #qualify(table) {
32
+ return this.#schemaName ? `${this.#schemaName}.${table}` : table;
33
+ }
34
+ /**
35
+ * Attach a live connection so the async introspection helpers
36
+ * ({@link hasTable}/{@link hasColumn}) can query the catalog. The migration
37
+ * runner calls this before running a migration's `up`/`down`.
38
+ */
39
+ bindConnection(connection) {
40
+ this.#connection = connection;
41
+ }
42
+ /**
43
+ * Does this table exist right now? (Adonis Lucid/Knex `hasTable`.) Runs a
44
+ * live catalog query, so it reflects migrations already applied — but NOT
45
+ * statements this same migration has only buffered (they run after `up`).
46
+ * Requires a bound connection (present inside a migration).
47
+ */
48
+ async hasTable(name) {
49
+ return tableExists(this.#requireConnection("hasTable"), this.#dialect, name);
50
+ }
51
+ /** Does this column exist on this table right now? (Adonis Lucid/Knex `hasColumn`.) */
52
+ async hasColumn(table, column) {
53
+ return columnExists(this.#requireConnection("hasColumn"), this.#dialect, table, column);
54
+ }
55
+ #requireConnection(method) {
56
+ if (!this.#connection) {
57
+ throw new Error(`E_NO_CONNECTION: schema.${method}() needs a live connection — it is available inside a migration, not on a standalone Schema.`);
58
+ }
59
+ return this.#connection;
60
+ }
17
61
  createTable(name, callback) {
18
- const builder = new TableBuilder(name);
62
+ const builder = new TableBuilder(this.#qualify(name));
19
63
  callback(builder);
20
64
  this.#statements.push(...builder.toStatements(this.#dialect));
21
65
  return this;
22
66
  }
67
+ /** `CREATE TABLE IF NOT EXISTS` (Lucid/Knex `createTableIfNotExists`). */
68
+ createTableIfNotExists(name, callback) {
69
+ const builder = new TableBuilder(this.#qualify(name));
70
+ callback(builder);
71
+ this.#statements.push(...builder.toStatements(this.#dialect, { ifNotExists: true }));
72
+ return this;
73
+ }
74
+ /**
75
+ * `ALTER TABLE` (Lucid/Knex `alterTable`, also spelled `table()`). Inside
76
+ * the callback a column-type method adds a column, `.alter()` changes one,
77
+ * and `dropColumn` / `renameColumn` / `setNullable` / `dropNullable` do
78
+ * what they say. Operations compile in call order.
79
+ */
80
+ alterTable(name, callback) {
81
+ const builder = new TableBuilder(this.#qualify(name), "alter");
82
+ callback(builder);
83
+ // An empty callback is a caller bug, not an empty statement list: the
84
+ // Rust compiler rejects a no-op ALTER, so short-circuit with a clearer error.
85
+ if (builder.getOperations().length === 0 &&
86
+ builder.getIndexes().length === 0) {
87
+ throw new Error(`E_ALTER_EMPTY: schema.alterTable('${name}') declared no operations`);
88
+ }
89
+ this.#statements.push(...builder.toStatements(this.#dialect));
90
+ return this;
91
+ }
92
+ /** Alias of {@link alterTable} (Lucid/Knex `table()`). */
93
+ table(name, callback) {
94
+ return this.alterTable(name, callback);
95
+ }
96
+ /** `ALTER TABLE old RENAME TO new` (Lucid/Knex `renameTable`). */
97
+ renameTable(from, to) {
98
+ const { statements } = compileStatementNative({
99
+ kind: "renameTable",
100
+ table: this.#qualify(from),
101
+ to: this.#qualify(to),
102
+ }, this.#dialect);
103
+ this.#statements.push(...statements);
104
+ return this;
105
+ }
106
+ /** `DROP TABLE` — errors if the table is missing (Adonis Lucid/Knex `dropTable`). */
23
107
  dropTable(name) {
24
- const { statements } = compileStatementNative({ kind: "dropTable", table: name, ifExists: true }, this.#dialect);
108
+ const { statements } = compileStatementNative({ kind: "dropTable", table: this.#qualify(name), ifExists: false }, this.#dialect);
109
+ this.#statements.push(...statements);
110
+ return this;
111
+ }
112
+ /** `DROP TABLE IF EXISTS` — a no-op when missing (Lucid/Knex `dropTableIfExists`). */
113
+ dropTableIfExists(name) {
114
+ const { statements } = compileStatementNative({ kind: "dropTable", table: this.#qualify(name), ifExists: true }, this.#dialect);
25
115
  this.#statements.push(...statements);
26
116
  return this;
27
117
  }
118
+ /**
119
+ * `CREATE SCHEMA` (Lucid/Knex `createSchema`). Postgres and MySQL (where a
120
+ * schema is a database); rejected on SQLite, which has no schemas.
121
+ */
122
+ createSchema(name) {
123
+ return this.#schemaStmt({ kind: "createSchema", name, ifNotExists: false });
124
+ }
125
+ /** `CREATE SCHEMA IF NOT EXISTS` (Lucid/Knex `createSchemaIfNotExists`). */
126
+ createSchemaIfNotExists(name) {
127
+ return this.#schemaStmt({ kind: "createSchema", name, ifNotExists: true });
128
+ }
129
+ /** `DROP SCHEMA [CASCADE]` (Lucid/Knex `dropSchema`). CASCADE is Postgres-only. */
130
+ dropSchema(name, cascade = false) {
131
+ return this.#schemaStmt({
132
+ kind: "dropSchema",
133
+ name,
134
+ ifExists: false,
135
+ cascade,
136
+ });
137
+ }
138
+ /** `DROP SCHEMA IF EXISTS [CASCADE]` (Lucid/Knex `dropSchemaIfExists`). */
139
+ dropSchemaIfExists(name, cascade = false) {
140
+ return this.#schemaStmt({
141
+ kind: "dropSchema",
142
+ name,
143
+ ifExists: true,
144
+ cascade,
145
+ });
146
+ }
147
+ /** Compile a schema-level DDL spec and queue it. */
148
+ #schemaStmt(spec) {
149
+ const { statements } = compileStatementNative(spec, this.#dialect);
150
+ this.#statements.push(...statements);
151
+ return this;
152
+ }
153
+ /**
154
+ * `CREATE TABLE new LIKE old` (Lucid/Knex `createTableLike`) — copy a table's
155
+ * structure. Postgres copies everything (`INCLUDING ALL`), MySQL uses `LIKE`,
156
+ * SQLite copies COLUMNS ONLY (`AS SELECT … WHERE 0` — no constraints/indexes,
157
+ * the same limitation Knex documents).
158
+ */
159
+ createTableLike(name, likeTable, callback) {
160
+ this.#schemaStmt({
161
+ kind: "createTableLike",
162
+ table: this.#qualify(name),
163
+ likeTable: this.#qualify(likeTable),
164
+ ifNotExists: false,
165
+ });
166
+ // Lucid's optional callback adds columns to the copied table — emit them as
167
+ // a follow-up ALTER TABLE (the copy exists by the time it runs).
168
+ if (callback)
169
+ this.alterTable(name, callback);
170
+ return this;
171
+ }
172
+ /**
173
+ * `ALTER VIEW` (Lucid/Knex `alterView`) — rename a view's columns via the
174
+ * callback (`view.column('id').rename('user_id')`). Postgres only: MySQL/SQLite
175
+ * can't rename view columns in place, so drop and re-create the view there.
176
+ */
177
+ alterView(name, callback) {
178
+ const builder = new AlterViewBuilder();
179
+ callback(builder);
180
+ return this.#schemaStmt({
181
+ kind: "alterView",
182
+ view: this.#qualify(name),
183
+ renames: builder.renames,
184
+ });
185
+ }
186
+ /** Alias of {@link alterView} (Lucid/Knex `view`). */
187
+ view(name, callback) {
188
+ return this.alterView(name, callback);
189
+ }
28
190
  createIndex(table, columns, name, unique = false) {
29
191
  const cols = Array.isArray(columns) ? columns : [columns];
30
192
  const indexName = name ?? `idx_${table}_${cols.join("_")}`;
31
- const { statements } = compileStatementNative({ kind: "createIndex", table, name: indexName, columns: cols, unique }, this.#dialect);
193
+ const { statements } = compileStatementNative({
194
+ kind: "createIndex",
195
+ table: this.#qualify(table),
196
+ name: indexName,
197
+ columns: cols,
198
+ unique,
199
+ }, this.#dialect);
32
200
  this.#statements.push(...statements);
33
201
  return this;
34
202
  }
@@ -37,6 +205,92 @@ export class Schema {
37
205
  this.#statements.push(...statements);
38
206
  return this;
39
207
  }
208
+ /**
209
+ * `CREATE VIEW name [(cols)] AS <select>` (Lucid/Knex `createView`). The
210
+ * `select` is raw, developer-authored SQL — same trust level as {@link raw} —
211
+ * embedded verbatim; the view name and column list are validated + quoted by
212
+ * the Rust compiler.
213
+ */
214
+ createView(name, select, options = {}) {
215
+ return this.#pushView(name, select, options);
216
+ }
217
+ /** `CREATE OR REPLACE VIEW` (Lucid/Knex `createViewOrReplace`). Rejected on SQLite. */
218
+ createViewOrReplace(name, select, options = {}) {
219
+ return this.#pushView(name, select, { ...options, orReplace: true });
220
+ }
221
+ /** `CREATE MATERIALIZED VIEW` (Lucid/Knex `createMaterializedView`). Postgres-only. */
222
+ createMaterializedView(name, select, options = {}) {
223
+ return this.#pushView(name, select, { ...options, materialized: true });
224
+ }
225
+ /** `DROP VIEW` — errors if missing (Lucid/Knex `dropView`). */
226
+ dropView(name) {
227
+ return this.#schemaStmt({
228
+ kind: "dropView",
229
+ name: this.#qualify(name),
230
+ ifExists: false,
231
+ });
232
+ }
233
+ /** `DROP VIEW IF EXISTS` — a no-op when missing (Lucid/Knex `dropViewIfExists`). */
234
+ dropViewIfExists(name) {
235
+ return this.#schemaStmt({
236
+ kind: "dropView",
237
+ name: this.#qualify(name),
238
+ ifExists: true,
239
+ });
240
+ }
241
+ /** `DROP MATERIALIZED VIEW` (Lucid/Knex). Postgres-only. */
242
+ dropMaterializedView(name) {
243
+ return this.#schemaStmt({
244
+ kind: "dropView",
245
+ name: this.#qualify(name),
246
+ ifExists: false,
247
+ materialized: true,
248
+ });
249
+ }
250
+ /** `DROP MATERIALIZED VIEW IF EXISTS` (Lucid/Knex). Postgres-only. */
251
+ dropMaterializedViewIfExists(name) {
252
+ return this.#schemaStmt({
253
+ kind: "dropView",
254
+ name: this.#qualify(name),
255
+ ifExists: true,
256
+ materialized: true,
257
+ });
258
+ }
259
+ /**
260
+ * Rename a view (Lucid/Knex `renameView`). Postgres `ALTER VIEW … RENAME TO`,
261
+ * MySQL `RENAME TABLE`; SQLite can't rename a view (drop and re-create).
262
+ */
263
+ renameView(from, to) {
264
+ return this.#schemaStmt({
265
+ kind: "renameView",
266
+ from: this.#qualify(from),
267
+ to: this.#qualify(to),
268
+ materialized: false,
269
+ });
270
+ }
271
+ /**
272
+ * `REFRESH MATERIALIZED VIEW [CONCURRENTLY]` (Lucid/Knex
273
+ * `refreshMaterializedView`). Postgres-only.
274
+ */
275
+ refreshMaterializedView(name, concurrently = false) {
276
+ return this.#schemaStmt({
277
+ kind: "refreshMaterializedView",
278
+ name: this.#qualify(name),
279
+ concurrently,
280
+ });
281
+ }
282
+ #pushView(name, select, options) {
283
+ const { statements } = compileStatementNative({
284
+ kind: "createView",
285
+ name: this.#qualify(name),
286
+ select,
287
+ orReplace: options.orReplace ?? false,
288
+ materialized: options.materialized ?? false,
289
+ columns: options.columns ?? null,
290
+ }, this.#dialect);
291
+ this.#statements.push(...statements);
292
+ return this;
293
+ }
40
294
  raw(sql) {
41
295
  this.#statements.push(sql);
42
296
  return this;
@@ -48,4 +302,19 @@ export class Schema {
48
302
  return [...this.#statements];
49
303
  }
50
304
  }
305
+ /**
306
+ * Callback builder for {@link Schema.alterView} — collects column renames
307
+ * (Adonis Lucid `view.column('id').rename('user_id')`).
308
+ */
309
+ export class AlterViewBuilder {
310
+ renames = [];
311
+ /** Target a view column; `.rename(to)` queues its rename. */
312
+ column(name) {
313
+ return {
314
+ rename: (to) => {
315
+ this.renames.push({ from: name, to });
316
+ },
317
+ };
318
+ }
319
+ }
51
320
  //# sourceMappingURL=Schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Schema.js","sourceRoot":"","sources":["../../src/schema/Schema.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAEN,sBAAsB,EACtB,eAAe,GACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,OAAO,MAAM;IAClB,QAAQ,CAAe;IACvB,WAAW,GAAa,EAAE,CAAC;IAE3B,YAAY,UAAwB,eAAe,EAAE;QACpD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,WAAW,CAAC,IAAY,EAAE,QAAuC;QAChE,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;QACvC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAClB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC9D,OAAO,IAAI,CAAC;IACb,CAAC;IAED,SAAS,CAAC,IAAY;QACrB,MAAM,EAAE,UAAU,EAAE,GAAG,sBAAsB,CAC5C,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAClD,IAAI,CAAC,QAAQ,CACb,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC;IACb,CAAC;IAED,WAAW,CACV,KAAa,EACb,OAA0B,EAC1B,IAAa,EACb,MAAM,GAAG,KAAK;QAEd,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC1D,MAAM,SAAS,GAAG,IAAI,IAAI,OAAO,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3D,MAAM,EAAE,UAAU,EAAE,GAAG,sBAAsB,CAC5C,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EACtE,IAAI,CAAC,QAAQ,CACb,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC;IACb,CAAC;IAED,SAAS,CAAC,IAAY;QACrB,MAAM,EAAE,UAAU,EAAE,GAAG,sBAAsB,CAC5C,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAC3C,IAAI,CAAC,QAAQ,CACb,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC;IACb,CAAC;IAED,GAAG,CAAC,GAAW;QACd,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC;IACb,CAAC;IAED,KAAK;QACJ,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;IACvB,CAAC;IAED,KAAK;QACJ,OAAO,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;IAC9B,CAAC;CACD"}
1
+ {"version":3,"file":"Schema.js","sourceRoot":"","sources":["../../src/schema/Schema.ts"],"names":[],"mappings":"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"}