-- Soft delete (recycle bin) for accidental hard-deletes of master data. Adds a nullable -- `deleted_at` (ISO-8601; null = live) + `deleted_by` (the admin user id) to the mutable -- master-data tables. A DELETE now stamps these instead of removing the row; restore -- clears them; an admin purge (or the retention sweep) does the real DELETE. The signed -- append-only ledger is NOT touched — it has no delete path and is out of scope here. -- -- All additive ALTER ADD COLUMN — backward-compatible (existing rows: deleted_at null = -- live). SQLite ADD COLUMN is in-place. Subscription PLANS are versioned (many rows per -- plan_id); a soft-delete stamps every version row of that plan_id together. ALTER TABLE `users` ADD `deleted_at` text;--> statement-breakpoint ALTER TABLE `users` ADD `deleted_by` text;--> statement-breakpoint ALTER TABLE `roles` ADD `deleted_at` text;--> statement-breakpoint ALTER TABLE `roles` ADD `deleted_by` text;--> statement-breakpoint ALTER TABLE `subscriptions` ADD `deleted_at` text;--> statement-breakpoint ALTER TABLE `subscriptions` ADD `deleted_by` text;--> statement-breakpoint ALTER TABLE `subscription_plans` ADD `deleted_at` text;--> statement-breakpoint ALTER TABLE `subscription_plans` ADD `deleted_by` text;--> statement-breakpoint ALTER TABLE `tariffs` ADD `deleted_at` text;--> statement-breakpoint ALTER TABLE `tariffs` ADD `deleted_by` text;