Drizzle is built for that. You change the TypeScript schema, Drizzle generates a new migration that alters your SQLite/D1 tables, and you apply it with Wrangler. High-level loop:
Edit TS schema (add/rename/drop columns, tables, indexes, constraints).
npx drizzle-kit generate → emits a new migrations/00xx_*.sql diff.
Review the SQL (important for destructive changes).
Apply it: wrangler d1 execute DB --local/--remote --file migrations/00xx_*.sql.






