Commit 1ba5a14
committed
fix(migrate): make SQLite CREATE TABLE/INDEX statements idempotent before running
Schema drift (tables created outside the migration system) previously caused a
fatal startup crash when drizzle tried to re-create an already-existing table.
Now all CREATE TABLE and CREATE INDEX statements are rewritten with IF NOT EXISTS
before being passed to dialect.migrate, so the error never occurs.
Migration hashes are computed from the original file content and are unaffected
by this transformation, so migration tracking remains correct.
Also adds warn/silly logging to the repair fallback path so future failures
surface a clear reason instead of silently returning false.1 parent 39823bf commit 1ba5a14
1 file changed
Lines changed: 27 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
115 | 115 | | |
116 | 116 | | |
117 | 117 | | |
118 | | - | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
119 | 124 | | |
120 | 125 | | |
121 | 126 | | |
| |||
133 | 138 | | |
134 | 139 | | |
135 | 140 | | |
136 | | - | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
137 | 147 | | |
138 | 148 | | |
139 | 149 | | |
| |||
249 | 259 | | |
250 | 260 | | |
251 | 261 | | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
252 | 271 | | |
253 | | - | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
254 | 275 | | |
255 | 276 | | |
256 | 277 | | |
257 | 278 | | |
258 | 279 | | |
259 | | - | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
260 | 283 | | |
261 | 284 | | |
262 | 285 | | |
| |||
0 commit comments