stash/pkg/sqlite/migrations/64_fixes.up.sql

49 lines
1.3 KiB
MySQL
Raw Permalink Normal View History

PRAGMA foreign_keys=OFF;
-- recreate scenes_view_dates adding not null to scene_id and adding indexes
CREATE TABLE `scenes_view_dates_new` (
`scene_id` integer not null,
`view_date` datetime not null,
foreign key(`scene_id`) references `scenes`(`id`) on delete CASCADE
);
INSERT INTO `scenes_view_dates_new`
(
`scene_id`,
`view_date`
)
SELECT
`scene_id`,
`view_date`
FROM `scenes_view_dates`
WHERE `scenes_view_dates`.`scene_id` IS NOT NULL;
DROP INDEX IF EXISTS `index_scenes_view_dates`;
DROP TABLE `scenes_view_dates`;
ALTER TABLE `scenes_view_dates_new` rename to `scenes_view_dates`;
CREATE INDEX `index_scenes_view_dates` ON `scenes_view_dates` (`scene_id`);
-- recreate scenes_o_dates adding not null to scene_id and adding indexes
CREATE TABLE `scenes_o_dates_new` (
`scene_id` integer not null,
`o_date` datetime not null,
foreign key(`scene_id`) references `scenes`(`id`) on delete CASCADE
);
INSERT INTO `scenes_o_dates_new`
(
`scene_id`,
`o_date`
)
SELECT
`scene_id`,
`o_date`
FROM `scenes_o_dates`
WHERE `scenes_o_dates`.`scene_id` IS NOT NULL;
DROP INDEX IF EXISTS `index_scenes_o_dates`;
DROP TABLE `scenes_o_dates`;
ALTER TABLE `scenes_o_dates_new` rename to `scenes_o_dates`;
CREATE INDEX `index_scenes_o_dates` ON `scenes_o_dates` (`scene_id`);
PRAGMA foreign_keys=ON;