Skip to content

Commit 211cc91

Browse files
committed
- aerich migration
1 parent b45e97b commit 211cc91

File tree

4 files changed

+74
-0
lines changed

4 files changed

+74
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
from tortoise import BaseDBAsyncClient
2+
3+
4+
async def upgrade(db: BaseDBAsyncClient) -> str:
5+
return """
6+
CREATE TABLE IF NOT EXISTS `genres` (
7+
`id` BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT,
8+
`created_at` DATETIME(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
9+
`external_id` INT NOT NULL UNIQUE,
10+
`name` VARCHAR(255) NOT NULL
11+
) CHARACTER SET utf8mb4;
12+
ALTER TABLE `movies` ADD `release_date` DATETIME(6) NOT NULL;
13+
ALTER TABLE `movies` RENAME COLUMN `plot` TO `overview`;
14+
ALTER TABLE `movies` RENAME COLUMN `playtime` TO `runtime`;
15+
ALTER TABLE `movies` ADD `external_id` INT NOT NULL UNIQUE;
16+
ALTER TABLE `movies` DROP COLUMN `genre`;
17+
ALTER TABLE `movies` MODIFY COLUMN `cast` VARCHAR(255) NOT NULL;
18+
CREATE TABLE IF NOT EXISTS `movie_genres` (
19+
`id` BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT,
20+
`created_at` DATETIME(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
21+
`genre_id` BIGINT NOT NULL,
22+
`movie_id` BIGINT NOT NULL,
23+
CONSTRAINT `fk_movie_ge_genres_c7d0356e` FOREIGN KEY (`genre_id`) REFERENCES `genres` (`id`) ON DELETE CASCADE,
24+
CONSTRAINT `fk_movie_ge_movies_014c0d12` FOREIGN KEY (`movie_id`) REFERENCES `movies` (`id`) ON DELETE CASCADE
25+
) CHARACTER SET utf8mb4;"""
26+
27+
28+
async def downgrade(db: BaseDBAsyncClient) -> str:
29+
return """
30+
ALTER TABLE `movies` ADD `genre` VARCHAR(9) NOT NULL COMMENT 'SF: SF\nADVENTURE: Adventure\nROMANCE: Romance\nCOMIC: Comic\nFANTASY: Fantasy\nSCIENCE: Science\nMYSTERY: Mystery\nACTION: Action\nHORROR: Horror';
31+
ALTER TABLE `movies` RENAME COLUMN `runtime` TO `playtime`;
32+
ALTER TABLE `movies` RENAME COLUMN `overview` TO `plot`;
33+
ALTER TABLE `movies` DROP COLUMN `release_date`;
34+
ALTER TABLE `movies` DROP COLUMN `external_id`;
35+
ALTER TABLE `movies` MODIFY COLUMN `cast` JSON NOT NULL;
36+
DROP TABLE IF EXISTS `movie_genres`;
37+
DROP TABLE IF EXISTS `genres`;"""
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
from tortoise import BaseDBAsyncClient
2+
3+
4+
async def upgrade(db: BaseDBAsyncClient) -> str:
5+
return """
6+
ALTER TABLE `movies` MODIFY COLUMN `external_id` INT;"""
7+
8+
9+
async def downgrade(db: BaseDBAsyncClient) -> str:
10+
return """
11+
ALTER TABLE `movies` MODIFY COLUMN `external_id` INT NOT NULL;"""
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
from tortoise import BaseDBAsyncClient
2+
3+
4+
async def upgrade(db: BaseDBAsyncClient) -> str:
5+
return """
6+
DROP TABLE IF EXISTS `movie_genres`;
7+
CREATE TABLE `movies_genres` (
8+
`genre_id` BIGINT NOT NULL REFERENCES `genres` (`id`) ON DELETE CASCADE,
9+
`movies_id` BIGINT NOT NULL REFERENCES `movies` (`id`) ON DELETE CASCADE
10+
) CHARACTER SET utf8mb4;"""
11+
12+
13+
async def downgrade(db: BaseDBAsyncClient) -> str:
14+
return """
15+
DROP TABLE IF EXISTS `movies_genres`;"""
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
from tortoise import BaseDBAsyncClient
2+
3+
4+
async def upgrade(db: BaseDBAsyncClient) -> str:
5+
return """
6+
ALTER TABLE `movies` MODIFY COLUMN `release_date` DATE NOT NULL;"""
7+
8+
9+
async def downgrade(db: BaseDBAsyncClient) -> str:
10+
return """
11+
ALTER TABLE `movies` MODIFY COLUMN `release_date` DATETIME(6) NOT NULL;"""

0 commit comments

Comments
 (0)