ALTER TABLE `maintenance_orders` ADD `budget_cents` integer NOT NULL DEFAULT 0;
--> statement-breakpoint
ALTER TABLE `maintenance_orders` ADD `committed_cents` integer NOT NULL DEFAULT 0;
--> statement-breakpoint
ALTER TABLE `maintenance_orders` ADD `actual_cents` integer NOT NULL DEFAULT 0;
--> statement-breakpoint
ALTER TABLE `maintenance_orders` ADD `parts_cents` integer NOT NULL DEFAULT 0;
--> statement-breakpoint
ALTER TABLE `maintenance_orders` ADD `labor_cents` integer NOT NULL DEFAULT 0;
--> statement-breakpoint
ALTER TABLE `maintenance_orders` ADD `external_cents` integer NOT NULL DEFAULT 0;
--> statement-breakpoint
ALTER TABLE `maintenance_orders` ADD `other_cents` integer NOT NULL DEFAULT 0;
--> statement-breakpoint
UPDATE `maintenance_orders`
SET `budget_cents` = CAST(REPLACE(REPLACE(`cost`, ' MAD', ''), ' ', '') AS INTEGER) * 100
WHERE `cost` GLOB '*[0-9]*';
--> statement-breakpoint
UPDATE `maintenance_orders`
SET `actual_cents` = `budget_cents`, `other_cents` = `budget_cents`
WHERE `status` = 'Clôturé';
--> statement-breakpoint
UPDATE `maintenance_orders`
SET `committed_cents` = `budget_cents`
WHERE `status` <> 'Clôturé';
--> statement-breakpoint
CREATE INDEX IF NOT EXISTS `idx_maintenance_orders_finance_status` ON `maintenance_orders` (`status`,`actual_cents`,`committed_cents`);
--> statement-breakpoint
PRAGMA optimize;
