@byline/cli 4.9.0 → 4.10.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 (183) hide show
  1. package/README.md +56 -15
  2. package/dist/cli.js +16 -0
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/doctor.d.ts +8 -0
  5. package/dist/commands/doctor.d.ts.map +1 -1
  6. package/dist/commands/doctor.js +8 -5
  7. package/dist/commands/doctor.js.map +1 -1
  8. package/dist/commands/init.d.ts +2 -1
  9. package/dist/commands/init.d.ts.map +1 -1
  10. package/dist/commands/init.js.map +1 -1
  11. package/dist/commands/setup-checks.d.ts +2 -0
  12. package/dist/commands/setup-checks.d.ts.map +1 -1
  13. package/dist/commands/setup-checks.js +14 -6
  14. package/dist/commands/setup-checks.js.map +1 -1
  15. package/dist/commands/setup-flow.test.d.ts +2 -0
  16. package/dist/commands/setup-flow.test.d.ts.map +1 -0
  17. package/dist/commands/setup-flow.test.js +230 -0
  18. package/dist/commands/setup-flow.test.js.map +1 -0
  19. package/dist/commands/setup.d.ts +30 -1
  20. package/dist/commands/setup.d.ts.map +1 -1
  21. package/dist/commands/setup.js +71 -35
  22. package/dist/commands/setup.js.map +1 -1
  23. package/dist/context.d.ts +4 -1
  24. package/dist/context.d.ts.map +1 -1
  25. package/dist/context.js +3 -0
  26. package/dist/context.js.map +1 -1
  27. package/dist/lib/baseline-drift.test.d.ts +2 -0
  28. package/dist/lib/baseline-drift.test.d.ts.map +1 -0
  29. package/dist/lib/baseline-drift.test.js +97 -0
  30. package/dist/lib/baseline-drift.test.js.map +1 -0
  31. package/dist/lib/baseline.d.ts +10 -0
  32. package/dist/lib/baseline.d.ts.map +1 -0
  33. package/dist/lib/baseline.js +12 -0
  34. package/dist/lib/baseline.js.map +1 -0
  35. package/dist/lib/database/adapters.d.ts +54 -0
  36. package/dist/lib/database/adapters.d.ts.map +1 -0
  37. package/dist/lib/database/adapters.js +83 -0
  38. package/dist/lib/database/adapters.js.map +1 -0
  39. package/dist/lib/database/adapters.test.d.ts +2 -0
  40. package/dist/lib/database/adapters.test.d.ts.map +1 -0
  41. package/dist/lib/database/adapters.test.js +36 -0
  42. package/dist/lib/database/adapters.test.js.map +1 -0
  43. package/dist/lib/database/dialect.d.ts +12 -0
  44. package/dist/lib/database/dialect.d.ts.map +1 -0
  45. package/dist/lib/database/dialect.js +53 -0
  46. package/dist/lib/database/dialect.js.map +1 -0
  47. package/dist/lib/database/dialect.test.d.ts +2 -0
  48. package/dist/lib/database/dialect.test.d.ts.map +1 -0
  49. package/dist/lib/database/dialect.test.js +58 -0
  50. package/dist/lib/database/dialect.test.js.map +1 -0
  51. package/dist/lib/database/mysql.d.ts +21 -0
  52. package/dist/lib/database/mysql.d.ts.map +1 -0
  53. package/dist/lib/database/mysql.js +152 -0
  54. package/dist/lib/database/mysql.js.map +1 -0
  55. package/dist/lib/database/mysql.test.d.ts +2 -0
  56. package/dist/lib/database/mysql.test.d.ts.map +1 -0
  57. package/dist/lib/database/mysql.test.js +45 -0
  58. package/dist/lib/database/mysql.test.js.map +1 -0
  59. package/dist/lib/database/postgres.d.ts +8 -0
  60. package/dist/lib/database/postgres.d.ts.map +1 -0
  61. package/dist/lib/database/postgres.js +142 -0
  62. package/dist/lib/database/postgres.js.map +1 -0
  63. package/dist/lib/database/postgres.test.d.ts +2 -0
  64. package/dist/lib/database/postgres.test.d.ts.map +1 -0
  65. package/dist/lib/database/postgres.test.js +14 -0
  66. package/dist/lib/database/postgres.test.js.map +1 -0
  67. package/dist/lib/database/provisioner.d.ts +35 -0
  68. package/dist/lib/database/provisioner.d.ts.map +1 -0
  69. package/dist/lib/database/provisioner.js +20 -0
  70. package/dist/lib/database/provisioner.js.map +1 -0
  71. package/dist/lib/database/provisioner.test.d.ts +2 -0
  72. package/dist/lib/database/provisioner.test.d.ts.map +1 -0
  73. package/dist/lib/database/provisioner.test.js +32 -0
  74. package/dist/lib/database/provisioner.test.js.map +1 -0
  75. package/dist/lib/database/selection.d.ts +11 -0
  76. package/dist/lib/database/selection.d.ts.map +1 -0
  77. package/dist/lib/database/selection.js +52 -0
  78. package/dist/lib/database/selection.js.map +1 -0
  79. package/dist/lib/database/selection.test.d.ts +2 -0
  80. package/dist/lib/database/selection.test.d.ts.map +1 -0
  81. package/dist/lib/database/selection.test.js +58 -0
  82. package/dist/lib/database/selection.test.js.map +1 -0
  83. package/dist/lib/database/state.d.ts +4 -0
  84. package/dist/lib/database/state.d.ts.map +1 -0
  85. package/dist/lib/database/state.js +10 -0
  86. package/dist/lib/database/state.js.map +1 -0
  87. package/dist/lib/database/state.test.d.ts +2 -0
  88. package/dist/lib/database/state.test.d.ts.map +1 -0
  89. package/dist/lib/database/state.test.js +17 -0
  90. package/dist/lib/database/state.test.js.map +1 -0
  91. package/dist/lib/database/urls.d.ts +19 -0
  92. package/dist/lib/database/urls.d.ts.map +1 -0
  93. package/dist/lib/database/urls.js +14 -0
  94. package/dist/lib/database/urls.js.map +1 -0
  95. package/dist/lib/database/urls.test.d.ts +2 -0
  96. package/dist/lib/database/urls.test.d.ts.map +1 -0
  97. package/dist/lib/database/urls.test.js +31 -0
  98. package/dist/lib/database/urls.test.js.map +1 -0
  99. package/dist/lib/dependency-version.d.ts.map +1 -1
  100. package/dist/lib/dependency-version.js +5 -4
  101. package/dist/lib/dependency-version.js.map +1 -1
  102. package/dist/lib/template-hook-boundary.test.node.js +9 -4
  103. package/dist/lib/template-hook-boundary.test.node.js.map +1 -1
  104. package/dist/manifest/deps.d.ts +8 -1
  105. package/dist/manifest/deps.d.ts.map +1 -1
  106. package/dist/manifest/deps.js +40 -13
  107. package/dist/manifest/deps.js.map +1 -1
  108. package/dist/manifest/env.d.ts +4 -1
  109. package/dist/manifest/env.d.ts.map +1 -1
  110. package/dist/manifest/env.js +12 -6
  111. package/dist/manifest/env.js.map +1 -1
  112. package/dist/phases/db-init.d.ts +2 -1
  113. package/dist/phases/db-init.d.ts.map +1 -1
  114. package/dist/phases/db-init.js +141 -124
  115. package/dist/phases/db-init.js.map +1 -1
  116. package/dist/phases/db-init.test.d.ts +2 -0
  117. package/dist/phases/db-init.test.d.ts.map +1 -0
  118. package/dist/phases/db-init.test.js +144 -0
  119. package/dist/phases/db-init.test.js.map +1 -0
  120. package/dist/phases/db.d.ts +0 -8
  121. package/dist/phases/db.d.ts.map +1 -1
  122. package/dist/phases/db.js +69 -49
  123. package/dist/phases/db.js.map +1 -1
  124. package/dist/phases/db.test.d.ts +2 -0
  125. package/dist/phases/db.test.d.ts.map +1 -0
  126. package/dist/phases/db.test.js +69 -0
  127. package/dist/phases/db.test.js.map +1 -0
  128. package/dist/phases/deps.d.ts.map +1 -1
  129. package/dist/phases/deps.js +7 -4
  130. package/dist/phases/deps.js.map +1 -1
  131. package/dist/phases/deps.test.js +67 -5
  132. package/dist/phases/deps.test.js.map +1 -1
  133. package/dist/phases/env.d.ts.map +1 -1
  134. package/dist/phases/env.js +30 -21
  135. package/dist/phases/env.js.map +1 -1
  136. package/dist/phases/env.test.d.ts +2 -0
  137. package/dist/phases/env.test.d.ts.map +1 -0
  138. package/dist/phases/env.test.js +79 -0
  139. package/dist/phases/env.test.js.map +1 -0
  140. package/dist/phases/scaffold-smoke.test.js +44 -10
  141. package/dist/phases/scaffold-smoke.test.js.map +1 -1
  142. package/dist/phases/scaffold.d.ts.map +1 -1
  143. package/dist/phases/scaffold.js +32 -23
  144. package/dist/phases/scaffold.js.map +1 -1
  145. package/dist/phases/scaffold.test.js +22 -0
  146. package/dist/phases/scaffold.test.js.map +1 -1
  147. package/dist/phases/wire/vite-config.d.ts.map +1 -1
  148. package/dist/phases/wire/vite-config.js +2 -0
  149. package/dist/phases/wire/vite-config.js.map +1 -1
  150. package/dist/phases/wire/vite-config.test.js +25 -2
  151. package/dist/phases/wire/vite-config.test.js.map +1 -1
  152. package/dist/state.d.ts +6 -0
  153. package/dist/state.d.ts.map +1 -1
  154. package/dist/state.js +40 -4
  155. package/dist/state.js.map +1 -1
  156. package/dist/state.test.d.ts +2 -0
  157. package/dist/state.test.d.ts.map +1 -0
  158. package/dist/state.test.js +77 -0
  159. package/dist/state.test.js.map +1 -0
  160. package/dist/templates/byline-examples/collections/docs/schema.ts +7 -7
  161. package/dist/templates/byline-examples/collections/media/schema.ts +6 -6
  162. package/dist/templates/byline-examples/collections/news/schema.ts +6 -6
  163. package/dist/templates/byline-examples/collections/news-categories/schema.ts +6 -6
  164. package/dist/templates/byline-examples/collections/pages/schema.ts +6 -6
  165. package/dist/templates/dialects/mysql/byline/server.config.ts +105 -0
  166. package/dist/templates/dialects/mysql/byline-examples/server.config.ts +115 -0
  167. package/dist/templates/host/vite.config.ts +4 -3
  168. package/dist/templates/migrations/mysql/0000_unknown_kulan_gath.sql +412 -0
  169. package/dist/templates/migrations/mysql/meta/_journal.json +13 -0
  170. package/dist/test-helpers.d.ts +14 -2
  171. package/dist/test-helpers.d.ts.map +1 -1
  172. package/dist/test-helpers.js +12 -9
  173. package/dist/test-helpers.js.map +1 -1
  174. package/dist/types.d.ts +3 -0
  175. package/dist/types.d.ts.map +1 -1
  176. package/package.json +7 -2
  177. package/dist/templates/migrations/meta/0000_snapshot.json +0 -3471
  178. /package/dist/templates/{byline → dialects/postgres/byline}/server.config.ts +0 -0
  179. /package/dist/templates/{byline-examples → dialects/postgres/byline-examples}/scripts/backfill-version-locales.ts +0 -0
  180. /package/dist/templates/{byline-examples → dialects/postgres/byline-examples}/scripts/re-anchor.ts +0 -0
  181. /package/dist/templates/{byline-examples → dialects/postgres/byline-examples}/server.config.ts +0 -0
  182. /package/dist/templates/migrations/{0000_mushy_luckman.sql → postgres/0000_mushy_luckman.sql} +0 -0
  183. /package/dist/templates/migrations/{meta → postgres/meta}/_journal.json +0 -0
@@ -0,0 +1,412 @@
1
+ CREATE TABLE `byline_admin_permissions` (
2
+ `id` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
3
+ `vid` int NOT NULL DEFAULT 1,
4
+ `admin_role_id` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
5
+ `ability` varchar(128) NOT NULL,
6
+ `created_at` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
7
+ `updated_at` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
8
+ CONSTRAINT `byline_admin_permissions_id` PRIMARY KEY(`id`),
9
+ CONSTRAINT `uq_byline_admin_permissions_role_ability` UNIQUE(`admin_role_id`,`ability`)
10
+ );
11
+ --> statement-breakpoint
12
+ CREATE TABLE `byline_admin_refresh_tokens` (
13
+ `id` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
14
+ `admin_user_id` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
15
+ `token_hash` varchar(64) NOT NULL,
16
+ `issued_at` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
17
+ `expires_at` datetime(6) NOT NULL,
18
+ `revoked_at` datetime(6),
19
+ `rotated_to_id` char(36) CHARACTER SET ascii COLLATE ascii_bin,
20
+ `last_used_at` datetime(6),
21
+ `user_agent` varchar(512),
22
+ `ip` varchar(45),
23
+ `created_at` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
24
+ `updated_at` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
25
+ CONSTRAINT `byline_admin_refresh_tokens_id` PRIMARY KEY(`id`),
26
+ CONSTRAINT `byline_admin_refresh_tokens_token_hash_unique` UNIQUE(`token_hash`)
27
+ );
28
+ --> statement-breakpoint
29
+ CREATE TABLE `byline_admin_role_admin_user` (
30
+ `admin_role_id` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
31
+ `admin_user_id` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
32
+ `created_at` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
33
+ CONSTRAINT `byline_admin_role_admin_user_admin_role_id_admin_user_id_pk` PRIMARY KEY(`admin_role_id`,`admin_user_id`)
34
+ );
35
+ --> statement-breakpoint
36
+ CREATE TABLE `byline_admin_roles` (
37
+ `id` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
38
+ `vid` int NOT NULL DEFAULT 1,
39
+ `name` varchar(128) NOT NULL,
40
+ `machine_name` varchar(128) NOT NULL,
41
+ `description` text,
42
+ `order` int NOT NULL DEFAULT 0,
43
+ `created_at` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
44
+ `updated_at` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
45
+ CONSTRAINT `byline_admin_roles_id` PRIMARY KEY(`id`),
46
+ CONSTRAINT `byline_admin_roles_machine_name_unique` UNIQUE(`machine_name`)
47
+ );
48
+ --> statement-breakpoint
49
+ CREATE TABLE `byline_admin_user_preferences` (
50
+ `user_id` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
51
+ `scope` varchar(255) NOT NULL,
52
+ `value` json NOT NULL,
53
+ `created_at` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
54
+ `updated_at` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
55
+ CONSTRAINT `byline_admin_user_preferences_user_id_scope_pk` PRIMARY KEY(`user_id`,`scope`)
56
+ );
57
+ --> statement-breakpoint
58
+ CREATE TABLE `byline_admin_users` (
59
+ `id` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
60
+ `vid` int NOT NULL DEFAULT 1,
61
+ `given_name` varchar(100),
62
+ `family_name` varchar(100),
63
+ `username` varchar(64),
64
+ `email` varchar(254) NOT NULL,
65
+ `password` varchar(255) NOT NULL,
66
+ `remember_me` boolean NOT NULL DEFAULT false,
67
+ `last_login` datetime(6),
68
+ `last_login_ip` varchar(45),
69
+ `failed_login_attempts` int NOT NULL DEFAULT 0,
70
+ `is_super_admin` boolean NOT NULL DEFAULT false,
71
+ `is_enabled` boolean NOT NULL DEFAULT false,
72
+ `is_email_verified` boolean NOT NULL DEFAULT false,
73
+ `preferred_locale` varchar(16),
74
+ `created_at` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
75
+ `updated_at` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
76
+ CONSTRAINT `byline_admin_users_id` PRIMARY KEY(`id`),
77
+ CONSTRAINT `byline_admin_users_username_unique` UNIQUE(`username`),
78
+ CONSTRAINT `byline_admin_users_email_unique` UNIQUE(`email`)
79
+ );
80
+ --> statement-breakpoint
81
+ CREATE TABLE `byline_audit_log` (
82
+ `id` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
83
+ `document_id` char(36) CHARACTER SET ascii COLLATE ascii_bin,
84
+ `collection_id` char(36) CHARACTER SET ascii COLLATE ascii_bin,
85
+ `actor_id` char(36) CHARACTER SET ascii COLLATE ascii_bin,
86
+ `actor_realm` varchar(16) NOT NULL,
87
+ `action` varchar(64) NOT NULL,
88
+ `field` varchar(128),
89
+ `before` json,
90
+ `after` json,
91
+ `occurred_at` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
92
+ CONSTRAINT `byline_audit_log_id` PRIMARY KEY(`id`)
93
+ );
94
+ --> statement-breakpoint
95
+ CREATE TABLE `byline_store_boolean` (
96
+ `id` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
97
+ `document_version_id` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
98
+ `collection_id` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
99
+ `field_path` varchar(500) NOT NULL,
100
+ `field_name` varchar(255) NOT NULL,
101
+ `locale` varchar(10) NOT NULL DEFAULT 'default',
102
+ `parent_path` varchar(500),
103
+ `created_at` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
104
+ `updated_at` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
105
+ `value` boolean NOT NULL,
106
+ CONSTRAINT `byline_store_boolean_id` PRIMARY KEY(`id`),
107
+ CONSTRAINT `unique_boolean_field` UNIQUE(`document_version_id`,`field_path`,`locale`)
108
+ );
109
+ --> statement-breakpoint
110
+ CREATE TABLE `byline_collections` (
111
+ `id` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
112
+ `path` varchar(255) NOT NULL,
113
+ `singular` text NOT NULL,
114
+ `plural` text NOT NULL,
115
+ `config` json NOT NULL,
116
+ `version` int NOT NULL DEFAULT 1,
117
+ `schema_hash` varchar(64),
118
+ `created_at` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
119
+ `updated_at` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
120
+ CONSTRAINT `byline_collections_id` PRIMARY KEY(`id`),
121
+ CONSTRAINT `byline_collections_path_unique` UNIQUE(`path`)
122
+ );
123
+ --> statement-breakpoint
124
+ CREATE TABLE `byline_counter_groups` (
125
+ `group_name` varchar(255) NOT NULL,
126
+ `sequence_name` text NOT NULL,
127
+ `current_value` bigint NOT NULL DEFAULT 0,
128
+ `created_at` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
129
+ CONSTRAINT `byline_counter_groups_group_name` PRIMARY KEY(`group_name`)
130
+ );
131
+ --> statement-breakpoint
132
+ CREATE TABLE `byline_store_datetime` (
133
+ `id` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
134
+ `document_version_id` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
135
+ `collection_id` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
136
+ `field_path` varchar(500) NOT NULL,
137
+ `field_name` varchar(255) NOT NULL,
138
+ `locale` varchar(10) NOT NULL DEFAULT 'default',
139
+ `parent_path` varchar(500),
140
+ `created_at` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
141
+ `updated_at` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
142
+ `date_type` varchar(20) NOT NULL,
143
+ `value_date` date,
144
+ `value_time` time(3),
145
+ `value_timestamp_tz` datetime(6),
146
+ CONSTRAINT `byline_store_datetime_id` PRIMARY KEY(`id`),
147
+ CONSTRAINT `unique_datetime_field` UNIQUE(`document_version_id`,`field_path`,`locale`)
148
+ );
149
+ --> statement-breakpoint
150
+ CREATE TABLE `byline_document_available_locales` (
151
+ `document_id` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
152
+ `locale` varchar(10) NOT NULL,
153
+ `collection_id` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
154
+ `created_at` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
155
+ `updated_at` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
156
+ CONSTRAINT `byline_document_available_locales_document_id_locale_pk` PRIMARY KEY(`document_id`,`locale`)
157
+ );
158
+ --> statement-breakpoint
159
+ CREATE TABLE `byline_document_paths` (
160
+ `document_id` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
161
+ `locale` varchar(10) NOT NULL,
162
+ `collection_id` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
163
+ `path` varchar(255) COLLATE utf8mb4_bin NOT NULL,
164
+ `created_at` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
165
+ `updated_at` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
166
+ CONSTRAINT `unique_document_paths_document_locale` UNIQUE(`document_id`,`locale`),
167
+ CONSTRAINT `idx_document_paths_collection_locale_path` UNIQUE(`collection_id`,`locale`,`path`)
168
+ );
169
+ --> statement-breakpoint
170
+ CREATE TABLE `byline_document_relationships` (
171
+ `child_document_id` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
172
+ `parent_document_id` char(36) CHARACTER SET ascii COLLATE ascii_bin,
173
+ `order_key` varchar(128) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
174
+ `created_at` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
175
+ `updated_at` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
176
+ CONSTRAINT `uq_document_relationships_child` UNIQUE(`child_document_id`)
177
+ );
178
+ --> statement-breakpoint
179
+ CREATE TABLE `byline_document_version_locales` (
180
+ `document_version_id` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
181
+ `locale` varchar(10) NOT NULL,
182
+ CONSTRAINT `byline_document_version_locales_document_version_id_locale_pk` PRIMARY KEY(`document_version_id`,`locale`)
183
+ );
184
+ --> statement-breakpoint
185
+ CREATE TABLE `byline_document_versions` (
186
+ `id` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
187
+ `document_id` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
188
+ `collection_id` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
189
+ `collection_version` int NOT NULL,
190
+ `doc` json,
191
+ `event_type` varchar(20) NOT NULL DEFAULT 'create',
192
+ `status` varchar(50) DEFAULT 'draft',
193
+ `is_deleted` boolean DEFAULT false,
194
+ `created_at` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
195
+ `updated_at` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
196
+ `created_by` char(36) CHARACTER SET ascii COLLATE ascii_bin,
197
+ `change_summary` text,
198
+ CONSTRAINT `byline_document_versions_id` PRIMARY KEY(`id`)
199
+ );
200
+ --> statement-breakpoint
201
+ CREATE TABLE `byline_documents` (
202
+ `id` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
203
+ `collection_id` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
204
+ `order_key` varchar(128) CHARACTER SET ascii COLLATE ascii_bin,
205
+ `source_locale` varchar(10) NOT NULL,
206
+ `created_at` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
207
+ `updated_at` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
208
+ CONSTRAINT `byline_documents_id` PRIMARY KEY(`id`)
209
+ );
210
+ --> statement-breakpoint
211
+ CREATE TABLE `byline_store_file` (
212
+ `id` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
213
+ `document_version_id` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
214
+ `collection_id` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
215
+ `field_path` varchar(500) NOT NULL,
216
+ `field_name` varchar(255) NOT NULL,
217
+ `locale` varchar(10) NOT NULL DEFAULT 'default',
218
+ `parent_path` varchar(500),
219
+ `created_at` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
220
+ `updated_at` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
221
+ `file_id` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
222
+ `filename` varchar(255) NOT NULL,
223
+ `original_filename` varchar(255) NOT NULL,
224
+ `mime_type` varchar(100) NOT NULL,
225
+ `file_size` bigint NOT NULL,
226
+ `file_hash` varchar(64),
227
+ `storage_provider` varchar(50) NOT NULL,
228
+ `storage_path` text NOT NULL,
229
+ `storage_url` text,
230
+ `image_width` int,
231
+ `image_height` int,
232
+ `image_format` varchar(20),
233
+ `processing_status` varchar(20) DEFAULT 'pending',
234
+ `thumbnail_generated` boolean DEFAULT false,
235
+ `variants` json,
236
+ CONSTRAINT `byline_store_file_id` PRIMARY KEY(`id`),
237
+ CONSTRAINT `unique_file_field` UNIQUE(`document_version_id`,`field_path`,`locale`)
238
+ );
239
+ --> statement-breakpoint
240
+ CREATE TABLE `byline_store_json` (
241
+ `id` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
242
+ `document_version_id` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
243
+ `collection_id` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
244
+ `field_path` varchar(500) NOT NULL,
245
+ `field_name` varchar(255) NOT NULL,
246
+ `locale` varchar(10) NOT NULL DEFAULT 'default',
247
+ `parent_path` varchar(500),
248
+ `created_at` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
249
+ `updated_at` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
250
+ `value` json NOT NULL,
251
+ `json_schema` varchar(100),
252
+ `object_keys` json,
253
+ CONSTRAINT `byline_store_json_id` PRIMARY KEY(`id`),
254
+ CONSTRAINT `unique_json_field` UNIQUE(`document_version_id`,`field_path`,`locale`)
255
+ );
256
+ --> statement-breakpoint
257
+ CREATE TABLE `byline_store_meta` (
258
+ `id` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
259
+ `document_version_id` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
260
+ `collection_id` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
261
+ `type` varchar(50) NOT NULL,
262
+ `path` varchar(512) NOT NULL,
263
+ `item_id` varchar(255) NOT NULL,
264
+ `meta` json,
265
+ `created_at` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
266
+ `updated_at` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
267
+ CONSTRAINT `byline_store_meta_id` PRIMARY KEY(`id`),
268
+ CONSTRAINT `unique_meta_node` UNIQUE(`document_version_id`,`type`,`path`)
269
+ );
270
+ --> statement-breakpoint
271
+ CREATE TABLE `byline_store_numeric` (
272
+ `id` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
273
+ `document_version_id` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
274
+ `collection_id` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
275
+ `field_path` varchar(500) NOT NULL,
276
+ `field_name` varchar(255) NOT NULL,
277
+ `locale` varchar(10) NOT NULL DEFAULT 'default',
278
+ `parent_path` varchar(500),
279
+ `created_at` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
280
+ `updated_at` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
281
+ `number_type` varchar(20) NOT NULL,
282
+ `value_integer` int,
283
+ `value_decimal` decimal(10,2),
284
+ `value_float` float,
285
+ CONSTRAINT `byline_store_numeric_id` PRIMARY KEY(`id`),
286
+ CONSTRAINT `unique_numeric_field` UNIQUE(`document_version_id`,`field_path`,`locale`)
287
+ );
288
+ --> statement-breakpoint
289
+ CREATE TABLE `byline_store_relation` (
290
+ `id` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
291
+ `document_version_id` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
292
+ `collection_id` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
293
+ `field_path` varchar(500) NOT NULL,
294
+ `field_name` varchar(255) NOT NULL,
295
+ `locale` varchar(10) NOT NULL DEFAULT 'default',
296
+ `parent_path` varchar(500),
297
+ `created_at` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
298
+ `updated_at` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
299
+ `target_document_id` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
300
+ `target_collection_id` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
301
+ `relationship_type` varchar(50) DEFAULT 'reference',
302
+ `cascade_delete` boolean DEFAULT false,
303
+ CONSTRAINT `byline_store_relation_id` PRIMARY KEY(`id`),
304
+ CONSTRAINT `unique_relation_field` UNIQUE(`document_version_id`,`field_path`,`locale`)
305
+ );
306
+ --> statement-breakpoint
307
+ CREATE TABLE `byline_store_text` (
308
+ `id` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
309
+ `document_version_id` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
310
+ `collection_id` char(36) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
311
+ `field_path` varchar(500) NOT NULL,
312
+ `field_name` varchar(255) NOT NULL,
313
+ `locale` varchar(10) NOT NULL DEFAULT 'default',
314
+ `parent_path` varchar(500),
315
+ `created_at` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
316
+ `updated_at` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
317
+ `value` text NOT NULL,
318
+ `word_count` int,
319
+ CONSTRAINT `byline_store_text_id` PRIMARY KEY(`id`),
320
+ CONSTRAINT `unique_text_field` UNIQUE(`document_version_id`,`field_path`,`locale`)
321
+ );
322
+ --> statement-breakpoint
323
+ ALTER TABLE `byline_admin_permissions` ADD CONSTRAINT `fk_admin_permissions_admin_role_id` FOREIGN KEY (`admin_role_id`) REFERENCES `byline_admin_roles`(`id`) ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
324
+ ALTER TABLE `byline_admin_refresh_tokens` ADD CONSTRAINT `fk_admin_refresh_tokens_admin_user_id` FOREIGN KEY (`admin_user_id`) REFERENCES `byline_admin_users`(`id`) ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
325
+ ALTER TABLE `byline_admin_role_admin_user` ADD CONSTRAINT `fk_admin_role_admin_user_admin_role_id` FOREIGN KEY (`admin_role_id`) REFERENCES `byline_admin_roles`(`id`) ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
326
+ ALTER TABLE `byline_admin_role_admin_user` ADD CONSTRAINT `fk_admin_role_admin_user_admin_user_id` FOREIGN KEY (`admin_user_id`) REFERENCES `byline_admin_users`(`id`) ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
327
+ ALTER TABLE `byline_admin_user_preferences` ADD CONSTRAINT `fk_admin_user_preferences_user_id` FOREIGN KEY (`user_id`) REFERENCES `byline_admin_users`(`id`) ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
328
+ ALTER TABLE `byline_store_boolean` ADD CONSTRAINT `fk_store_boolean_document_version_id` FOREIGN KEY (`document_version_id`) REFERENCES `byline_document_versions`(`id`) ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
329
+ ALTER TABLE `byline_store_boolean` ADD CONSTRAINT `fk_store_boolean_collection_id` FOREIGN KEY (`collection_id`) REFERENCES `byline_collections`(`id`) ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
330
+ ALTER TABLE `byline_store_datetime` ADD CONSTRAINT `fk_store_datetime_document_version_id` FOREIGN KEY (`document_version_id`) REFERENCES `byline_document_versions`(`id`) ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
331
+ ALTER TABLE `byline_store_datetime` ADD CONSTRAINT `fk_store_datetime_collection_id` FOREIGN KEY (`collection_id`) REFERENCES `byline_collections`(`id`) ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
332
+ ALTER TABLE `byline_document_available_locales` ADD CONSTRAINT `fk_document_available_locales_document_id` FOREIGN KEY (`document_id`) REFERENCES `byline_documents`(`id`) ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
333
+ ALTER TABLE `byline_document_available_locales` ADD CONSTRAINT `fk_document_available_locales_collection_id` FOREIGN KEY (`collection_id`) REFERENCES `byline_collections`(`id`) ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
334
+ ALTER TABLE `byline_document_paths` ADD CONSTRAINT `fk_document_paths_document_id` FOREIGN KEY (`document_id`) REFERENCES `byline_documents`(`id`) ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
335
+ ALTER TABLE `byline_document_paths` ADD CONSTRAINT `fk_document_paths_collection_id` FOREIGN KEY (`collection_id`) REFERENCES `byline_collections`(`id`) ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
336
+ ALTER TABLE `byline_document_relationships` ADD CONSTRAINT `fk_document_relationships_child_document_id` FOREIGN KEY (`child_document_id`) REFERENCES `byline_documents`(`id`) ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
337
+ ALTER TABLE `byline_document_relationships` ADD CONSTRAINT `fk_document_relationships_parent_document_id` FOREIGN KEY (`parent_document_id`) REFERENCES `byline_documents`(`id`) ON DELETE set null ON UPDATE no action;--> statement-breakpoint
338
+ ALTER TABLE `byline_document_version_locales` ADD CONSTRAINT `fk_document_version_locales_document_version_id` FOREIGN KEY (`document_version_id`) REFERENCES `byline_document_versions`(`id`) ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
339
+ ALTER TABLE `byline_document_versions` ADD CONSTRAINT `fk_document_versions_document_id` FOREIGN KEY (`document_id`) REFERENCES `byline_documents`(`id`) ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
340
+ ALTER TABLE `byline_document_versions` ADD CONSTRAINT `fk_document_versions_collection_id` FOREIGN KEY (`collection_id`) REFERENCES `byline_collections`(`id`) ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
341
+ ALTER TABLE `byline_documents` ADD CONSTRAINT `fk_documents_collection_id` FOREIGN KEY (`collection_id`) REFERENCES `byline_collections`(`id`) ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
342
+ ALTER TABLE `byline_store_file` ADD CONSTRAINT `fk_store_file_document_version_id` FOREIGN KEY (`document_version_id`) REFERENCES `byline_document_versions`(`id`) ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
343
+ ALTER TABLE `byline_store_file` ADD CONSTRAINT `fk_store_file_collection_id` FOREIGN KEY (`collection_id`) REFERENCES `byline_collections`(`id`) ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
344
+ ALTER TABLE `byline_store_json` ADD CONSTRAINT `fk_store_json_document_version_id` FOREIGN KEY (`document_version_id`) REFERENCES `byline_document_versions`(`id`) ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
345
+ ALTER TABLE `byline_store_json` ADD CONSTRAINT `fk_store_json_collection_id` FOREIGN KEY (`collection_id`) REFERENCES `byline_collections`(`id`) ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
346
+ ALTER TABLE `byline_store_meta` ADD CONSTRAINT `fk_store_meta_document_version_id` FOREIGN KEY (`document_version_id`) REFERENCES `byline_document_versions`(`id`) ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
347
+ ALTER TABLE `byline_store_meta` ADD CONSTRAINT `fk_store_meta_collection_id` FOREIGN KEY (`collection_id`) REFERENCES `byline_collections`(`id`) ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
348
+ ALTER TABLE `byline_store_numeric` ADD CONSTRAINT `fk_store_numeric_document_version_id` FOREIGN KEY (`document_version_id`) REFERENCES `byline_document_versions`(`id`) ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
349
+ ALTER TABLE `byline_store_numeric` ADD CONSTRAINT `fk_store_numeric_collection_id` FOREIGN KEY (`collection_id`) REFERENCES `byline_collections`(`id`) ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
350
+ ALTER TABLE `byline_store_relation` ADD CONSTRAINT `fk_store_relation_document_version_id` FOREIGN KEY (`document_version_id`) REFERENCES `byline_document_versions`(`id`) ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
351
+ ALTER TABLE `byline_store_relation` ADD CONSTRAINT `fk_store_relation_collection_id` FOREIGN KEY (`collection_id`) REFERENCES `byline_collections`(`id`) ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
352
+ ALTER TABLE `byline_store_relation` ADD CONSTRAINT `fk_store_relation_target_document_id` FOREIGN KEY (`target_document_id`) REFERENCES `byline_documents`(`id`) ON DELETE no action ON UPDATE no action;--> statement-breakpoint
353
+ ALTER TABLE `byline_store_relation` ADD CONSTRAINT `fk_store_relation_target_collection_id` FOREIGN KEY (`target_collection_id`) REFERENCES `byline_collections`(`id`) ON DELETE no action ON UPDATE no action;--> statement-breakpoint
354
+ ALTER TABLE `byline_store_text` ADD CONSTRAINT `fk_store_text_document_version_id` FOREIGN KEY (`document_version_id`) REFERENCES `byline_document_versions`(`id`) ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
355
+ ALTER TABLE `byline_store_text` ADD CONSTRAINT `fk_store_text_collection_id` FOREIGN KEY (`collection_id`) REFERENCES `byline_collections`(`id`) ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
356
+ CREATE INDEX `idx_byline_admin_permissions_role` ON `byline_admin_permissions` (`admin_role_id`);--> statement-breakpoint
357
+ CREATE INDEX `idx_byline_admin_refresh_tokens_user` ON `byline_admin_refresh_tokens` (`admin_user_id`);--> statement-breakpoint
358
+ CREATE INDEX `idx_byline_admin_refresh_tokens_token_hash` ON `byline_admin_refresh_tokens` (`token_hash`);--> statement-breakpoint
359
+ CREATE INDEX `idx_byline_admin_role_admin_user_user` ON `byline_admin_role_admin_user` (`admin_user_id`);--> statement-breakpoint
360
+ CREATE INDEX `idx_byline_admin_roles_machine_name` ON `byline_admin_roles` (`machine_name`);--> statement-breakpoint
361
+ CREATE INDEX `idx_byline_admin_users_email` ON `byline_admin_users` (`email`);--> statement-breakpoint
362
+ CREATE INDEX `idx_audit_log_document_id` ON `byline_audit_log` (`document_id`,`id`);--> statement-breakpoint
363
+ CREATE INDEX `idx_audit_log_actor_id` ON `byline_audit_log` (`actor_id`,`id`);--> statement-breakpoint
364
+ CREATE INDEX `idx_audit_log_action` ON `byline_audit_log` (`action`,`id`);--> statement-breakpoint
365
+ CREATE INDEX `idx_boolean_value` ON `byline_store_boolean` (`value`);--> statement-breakpoint
366
+ CREATE INDEX `idx_boolean_path_value` ON `byline_store_boolean` (`field_path`,`value`);--> statement-breakpoint
367
+ CREATE INDEX `idx_boolean_collection_value` ON `byline_store_boolean` (`collection_id`,`field_path`,`value`);--> statement-breakpoint
368
+ CREATE INDEX `idx_datetime_date` ON `byline_store_datetime` (`value_date`);--> statement-breakpoint
369
+ CREATE INDEX `idx_datetime_timestamp_tz` ON `byline_store_datetime` (`value_timestamp_tz`);--> statement-breakpoint
370
+ CREATE INDEX `idx_datetime_path_date` ON `byline_store_datetime` (`field_path`,`value_timestamp_tz`);--> statement-breakpoint
371
+ CREATE INDEX `idx_datetime_collection_date` ON `byline_store_datetime` (`collection_id`,`value_timestamp_tz`);--> statement-breakpoint
372
+ CREATE INDEX `idx_document_available_locales_document_id` ON `byline_document_available_locales` (`document_id`);--> statement-breakpoint
373
+ CREATE INDEX `idx_document_paths_document_id` ON `byline_document_paths` (`document_id`);--> statement-breakpoint
374
+ CREATE INDEX `idx_document_relationships_parent_order` ON `byline_document_relationships` (`parent_document_id`,`order_key`);--> statement-breakpoint
375
+ CREATE INDEX `idx_documents_document_id` ON `byline_document_versions` (`document_id`);--> statement-breakpoint
376
+ CREATE INDEX `idx_documents_collection_document_deleted` ON `byline_document_versions` (`collection_id`,`document_id`,`is_deleted`);--> statement-breakpoint
377
+ CREATE INDEX `idx_documents_current_view` ON `byline_document_versions` (`collection_id`,`document_id`,`is_deleted`,`id`);--> statement-breakpoint
378
+ CREATE INDEX `idx_documents_event_type` ON `byline_document_versions` (`event_type`);--> statement-breakpoint
379
+ CREATE INDEX `idx_documents_created_at` ON `byline_document_versions` (`created_at`);--> statement-breakpoint
380
+ CREATE INDEX `idx_documents_document_collection` ON `byline_document_versions` (`document_id`,`collection_id`);--> statement-breakpoint
381
+ CREATE INDEX `idx_documents_collection` ON `byline_documents` (`collection_id`);--> statement-breakpoint
382
+ CREATE INDEX `idx_documents_collection_order` ON `byline_documents` (`collection_id`,`order_key`);--> statement-breakpoint
383
+ CREATE INDEX `idx_file_file_id` ON `byline_store_file` (`file_id`);--> statement-breakpoint
384
+ CREATE INDEX `idx_file_mime_type` ON `byline_store_file` (`mime_type`);--> statement-breakpoint
385
+ CREATE INDEX `idx_file_size` ON `byline_store_file` (`file_size`);--> statement-breakpoint
386
+ CREATE INDEX `idx_file_hash` ON `byline_store_file` (`file_hash`);--> statement-breakpoint
387
+ CREATE INDEX `idx_file_image_dimensions` ON `byline_store_file` (`image_width`,`image_height`);--> statement-breakpoint
388
+ CREATE INDEX `idx_file_storage_provider` ON `byline_store_file` (`storage_provider`);--> statement-breakpoint
389
+ CREATE INDEX `idx_file_processing_status` ON `byline_store_file` (`processing_status`);--> statement-breakpoint
390
+ CREATE INDEX `idx_json_schema` ON `byline_store_json` (`json_schema`);--> statement-breakpoint
391
+ CREATE INDEX `idx_meta_document_type_path` ON `byline_store_meta` (`document_version_id`,`type`,`path`);--> statement-breakpoint
392
+ CREATE INDEX `idx_meta_item_id` ON `byline_store_meta` (`item_id`);--> statement-breakpoint
393
+ CREATE INDEX `idx_meta_collection_type` ON `byline_store_meta` (`collection_id`,`type`);--> statement-breakpoint
394
+ CREATE INDEX `idx_numeric_integer` ON `byline_store_numeric` (`value_integer`);--> statement-breakpoint
395
+ CREATE INDEX `idx_numeric_decimal` ON `byline_store_numeric` (`value_decimal`);--> statement-breakpoint
396
+ CREATE INDEX `idx_numeric_float` ON `byline_store_numeric` (`value_float`);--> statement-breakpoint
397
+ CREATE INDEX `idx_numeric_integer_range` ON `byline_store_numeric` (`field_path`,`value_integer`);--> statement-breakpoint
398
+ CREATE INDEX `idx_numeric_decimal_range` ON `byline_store_numeric` (`field_path`,`value_decimal`);--> statement-breakpoint
399
+ CREATE INDEX `idx_relation_target_document` ON `byline_store_relation` (`target_document_id`);--> statement-breakpoint
400
+ CREATE INDEX `idx_relation_target_collection` ON `byline_store_relation` (`target_collection_id`);--> statement-breakpoint
401
+ CREATE INDEX `idx_relation_type` ON `byline_store_relation` (`relationship_type`);--> statement-breakpoint
402
+ CREATE INDEX `idx_relation_reverse` ON `byline_store_relation` (`target_document_id`,`field_path`);--> statement-breakpoint
403
+ CREATE INDEX `idx_relation_collection_to_collection` ON `byline_store_relation` (`collection_id`,`target_collection_id`);--> statement-breakpoint
404
+ CREATE INDEX `idx_text_value` ON `byline_store_text` (`value`(191));--> statement-breakpoint
405
+ CREATE INDEX `idx_text_locale_value` ON `byline_store_text` (`locale`,`value`(191));--> statement-breakpoint
406
+ CREATE INDEX `idx_text_path_value` ON `byline_store_text` (`field_path`,`value`(191));--> statement-breakpoint
407
+ CREATE ALGORITHM = undefined
408
+ SQL SECURITY definer
409
+ VIEW `byline_current_documents` AS (with `sq` as (select `id`, `document_id`, `collection_id`, `collection_version`, `event_type`, `status`, `is_deleted`, `created_at`, `updated_at`, `created_by`, `change_summary`, row_number() OVER (PARTITION BY `document_id` ORDER BY `id` DESC) as `rn` from `byline_document_versions` where `byline_document_versions`.`is_deleted` = false) select `sq`.`id`, `sq`.`document_id`, `sq`.`collection_id`, `sq`.`collection_version`, `sq`.`event_type`, `sq`.`status`, `sq`.`is_deleted`, `sq`.`created_at`, `sq`.`updated_at`, `sq`.`created_by`, `sq`.`change_summary`, `byline_documents`.`order_key`, `byline_documents`.`source_locale` from `sq` inner join `byline_documents` on `byline_documents`.`id` = `sq`.`document_id` where `rn` = 1);--> statement-breakpoint
410
+ CREATE ALGORITHM = undefined
411
+ SQL SECURITY definer
412
+ VIEW `byline_current_published_documents` AS (with `sq` as (select `id`, `document_id`, `collection_id`, `collection_version`, `event_type`, `status`, `is_deleted`, `created_at`, `updated_at`, `created_by`, `change_summary`, row_number() OVER (PARTITION BY `document_id` ORDER BY `id` DESC) as `rn` from `byline_document_versions` where `byline_document_versions`.`is_deleted` = false AND `byline_document_versions`.`status` = 'published') select `sq`.`id`, `sq`.`document_id`, `sq`.`collection_id`, `sq`.`collection_version`, `sq`.`event_type`, `sq`.`status`, `sq`.`is_deleted`, `sq`.`created_at`, `sq`.`updated_at`, `sq`.`created_by`, `sq`.`change_summary`, `byline_documents`.`order_key`, `byline_documents`.`source_locale` from `sq` inner join `byline_documents` on `byline_documents`.`id` = `sq`.`document_id` where `rn` = 1);
@@ -0,0 +1,13 @@
1
+ {
2
+ "version": "7",
3
+ "dialect": "mysql",
4
+ "entries": [
5
+ {
6
+ "idx": 0,
7
+ "version": "5",
8
+ "when": 1785158252558,
9
+ "tag": "0000_unknown_kulan_gath",
10
+ "breakpoints": true
11
+ }
12
+ ]
13
+ }
@@ -1,5 +1,17 @@
1
1
  import { Context } from './context.js';
2
+ import type { DatabaseProvisionerRegistry } from './lib/database/provisioner.js';
3
+ import type { Prompter } from './prompts.js';
2
4
  import type { Answers } from './types.js';
3
- export declare function createTestContext(answers?: Answers): Context;
4
- export declare function createTestContextAt(cwd: string, answers?: Answers): Context;
5
+ import type { Logger } from './ui/logger.js';
6
+ export declare function createTestContext(answers?: Answers, options?: TestContextOptions): Context;
7
+ export declare function createTestContextAt(cwd: string, answers?: Answers, options?: TestContextOptions): Context;
8
+ interface TestContextOptions {
9
+ provisioners?: DatabaseProvisionerRegistry;
10
+ reset?: boolean;
11
+ resetConfirmed?: boolean;
12
+ cliFlags?: Record<string, string | boolean | undefined>;
13
+ logger?: Logger;
14
+ prompter?: Prompter;
15
+ }
16
+ export {};
5
17
  //# sourceMappingURL=test-helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"test-helpers.d.ts","sourceRoot":"","sources":["../src/test-helpers.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAGtC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AA6BzC,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,OAAY,GAAG,OAAO,CAGhE;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,OAAY,GAAG,OAAO,CAe/E"}
1
+ {"version":3,"file":"test-helpers.d.ts","sourceRoot":"","sources":["../src/test-helpers.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAA;AAChF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AA4B5C,wBAAgB,iBAAiB,CAC/B,OAAO,GAAE,OAAY,EACrB,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAGT;AAED,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,OAAY,EACrB,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAkBT;AAED,UAAU,kBAAkB;IAC1B,YAAY,CAAC,EAAE,2BAA2B,CAAA;IAC1C,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,CAAA;IACvD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,QAAQ,CAAA;CACpB"}
@@ -29,24 +29,27 @@ const prompter = {
29
29
  throw new Error(message);
30
30
  },
31
31
  };
32
- export function createTestContext(answers = {}) {
32
+ export function createTestContext(answers = {}, options = {}) {
33
33
  const cwd = mkdtempSync(join(tmpdir(), 'byline-cli-test-'));
34
- return createTestContextAt(cwd, answers);
34
+ return createTestContextAt(cwd, answers, options);
35
35
  }
36
- export function createTestContextAt(cwd, answers = {}) {
36
+ export function createTestContextAt(cwd, answers = {}, options = {}) {
37
37
  const state = new StateStore(cwd);
38
- state.patchAnswers(answers);
38
+ // Existing CLI tests model the historically PostgreSQL-only installer.
39
+ // Adapter-selection tests opt back into a genuinely fresh state explicitly.
40
+ state.patchAnswers({ dbAdapter: 'postgres', ...answers });
39
41
  return new Context({
40
42
  cwd,
41
43
  apply: true,
42
44
  dryRun: false,
43
45
  yes: true,
44
- reset: false,
45
- resetConfirmed: false,
46
- cliFlags: {},
47
- logger,
48
- prompter,
46
+ reset: options.reset ?? false,
47
+ resetConfirmed: options.resetConfirmed ?? false,
48
+ cliFlags: options.cliFlags ?? {},
49
+ logger: options.logger ?? logger,
50
+ prompter: options.prompter ?? prompter,
49
51
  state,
52
+ provisioners: options.provisioners,
50
53
  });
51
54
  }
52
55
  //# sourceMappingURL=test-helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"test-helpers.js","sourceRoot":"","sources":["../src/test-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAKvC,MAAM,IAAI,GAAG,GAAG,EAAE,GAAE,CAAC,CAAA;AACrB,MAAM,MAAM,GAAW,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAA;AACpG,MAAM,QAAQ,GAAa;IACzB,KAAK,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE;QACzB,OAAO,YAAY,IAAI,EAAE,CAAA;IAC3B,CAAC;IACD,KAAK,CAAC,QAAQ;QACZ,OAAO,UAAU,CAAA;IACnB,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE;QACtB,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;QACxB,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;QACzD,OAAO,KAAK,CAAC,KAAK,CAAA;IACpB,CAAC;IACD,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY,EAAE;QAC5B,OAAO,YAAY,IAAI,IAAI,CAAA;IAC7B,CAAC;IACD,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC5C,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,IAAI;IACX,IAAI,EAAE,IAAI;IACV,MAAM,CAAC,OAAO;QACZ,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAA;IAC1B,CAAC;CACF,CAAA;AAED,MAAM,UAAU,iBAAiB,CAAC,OAAO,GAAY,EAAE;IACrD,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,kBAAkB,CAAC,CAAC,CAAA;IAC3D,OAAO,mBAAmB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;AAC1C,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,GAAW,EAAE,OAAO,GAAY,EAAE;IACpE,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,CAAA;IACjC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;IAC3B,OAAO,IAAI,OAAO,CAAC;QACjB,GAAG;QACH,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,KAAK;QACb,GAAG,EAAE,IAAI;QACT,KAAK,EAAE,KAAK;QACZ,cAAc,EAAE,KAAK;QACrB,QAAQ,EAAE,EAAE;QACZ,MAAM;QACN,QAAQ;QACR,KAAK;KACN,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"test-helpers.js","sourceRoot":"","sources":["../src/test-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAMvC,MAAM,IAAI,GAAG,GAAG,EAAE,GAAE,CAAC,CAAA;AACrB,MAAM,MAAM,GAAW,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAA;AACpG,MAAM,QAAQ,GAAa;IACzB,KAAK,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE;QACzB,OAAO,YAAY,IAAI,EAAE,CAAA;IAC3B,CAAC;IACD,KAAK,CAAC,QAAQ;QACZ,OAAO,UAAU,CAAA;IACnB,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE;QACtB,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;QACxB,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;QACzD,OAAO,KAAK,CAAC,KAAK,CAAA;IACpB,CAAC;IACD,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY,EAAE;QAC5B,OAAO,YAAY,IAAI,IAAI,CAAA;IAC7B,CAAC;IACD,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC5C,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,IAAI;IACX,IAAI,EAAE,IAAI;IACV,MAAM,CAAC,OAAO;QACZ,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAA;IAC1B,CAAC;CACF,CAAA;AAED,MAAM,UAAU,iBAAiB,CAC/B,OAAO,GAAY,EAAE,EACrB,OAAO,GAAuB,EAAE;IAEhC,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,kBAAkB,CAAC,CAAC,CAAA;IAC3D,OAAO,mBAAmB,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;AACnD,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,GAAW,EACX,OAAO,GAAY,EAAE,EACrB,OAAO,GAAuB,EAAE;IAEhC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,CAAA;IACjC,uEAAuE;IACvE,4EAA4E;IAC5E,KAAK,CAAC,YAAY,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,OAAO,EAAE,CAAC,CAAA;IACzD,OAAO,IAAI,OAAO,CAAC;QACjB,GAAG;QACH,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,KAAK;QACb,GAAG,EAAE,IAAI;QACT,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,KAAK;QAC7B,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,KAAK;QAC/C,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,EAAE;QAChC,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,MAAM;QAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,QAAQ;QACtC,KAAK;QACL,YAAY,EAAE,OAAO,CAAC,YAAY;KACnC,CAAC,CAAA;AACJ,CAAC"}
package/dist/types.d.ts CHANGED
@@ -2,6 +2,8 @@ import type { Context } from './context.js';
2
2
  export type PhaseId = 'preflight' | 'prompts' | 'host' | 'db' | 'db-init' | 'env' | 'deps' | 'scaffold' | 'seed-admin' | 'seed-docs' | 'wire' | 'routes' | 'ui' | 'verify';
3
3
  export type PhaseState = 'pending' | 'partial' | 'done' | 'blocked';
4
4
  export type PackageManager = 'pnpm' | 'npm' | 'yarn' | 'bun';
5
+ /** Stable CLI identifier for a database-backed storage adapter. */
6
+ export type DatabaseAdapterId = 'postgres' | 'mysql';
5
7
  export type DbStrategy = 'existing' | 'docker';
6
8
  export interface FileWrite {
7
9
  path: string;
@@ -51,6 +53,7 @@ export interface Phase {
51
53
  apply(plan: Plan, ctx: Context): Promise<PhaseResult>;
52
54
  }
53
55
  export interface Answers {
56
+ dbAdapter?: DatabaseAdapterId;
54
57
  dbStrategy?: DbStrategy;
55
58
  dbHost?: string;
56
59
  dbPort?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@byline/cli",
3
3
  "private": false,
4
4
  "license": "MPL-2.0",
5
- "version": "4.9.0",
5
+ "version": "4.10.0",
6
6
  "engines": {
7
7
  "node": ">=20.9.0"
8
8
  },
@@ -40,6 +40,7 @@
40
40
  "execa": "^10.0.0",
41
41
  "jsonc-parser": "^3.3.1",
42
42
  "minimatch": "^10.2.5",
43
+ "mysql2": "^3.23.1",
43
44
  "pg": "^8.22.0",
44
45
  "picocolors": "^1.1.1",
45
46
  "semver": "^7.8.5",
@@ -70,8 +71,12 @@
70
71
  "build": "tsc -p tsconfig.json && tsc-alias && node ./scripts/copy-templates.js && chmod +x dist/cli.js",
71
72
  "dev": "tsc -w -p tsconfig.json",
72
73
  "clean": "node scripts/clean.js node_modules dist .turbo",
74
+ "check:artifact": "node scripts/check-package-artifact.mjs",
75
+ "check:templates": "node scripts/check-dialect-templates.mjs",
76
+ "sync:baselines": "node scripts/sync-db-baselines.mjs",
73
77
  "lint": "biome check --write --unsafe --diagnostic-level=error",
74
78
  "test": "vitest run --passWithNoTests",
75
- "typecheck": "tsc --noEmit"
79
+ "test:integration": "vitest run --mode=integration",
80
+ "typecheck": "tsc --noEmit && tsc --noEmit -p tsconfig.tests.json"
76
81
  }
77
82
  }