42 lines
1.1 KiB
Python
42 lines
1.1 KiB
Python
"""
|
|
Apply primary key constraint to lookup table
|
|
"""
|
|
|
|
from yoyo import step
|
|
|
|
__depends__ = {"20210118_02_JxKbt-add-indexes-to-posts-table"}
|
|
|
|
steps = [
|
|
step(
|
|
"ALTER TABLE lookup RENAME TO old_lookup",
|
|
"ALTER TABLE old_lookup RENAME TO lookup",
|
|
),
|
|
step(
|
|
"""
|
|
CREATE TABLE lookup (
|
|
"id" varchar(255) NOT NULL,
|
|
"name" varchar(255) NOT NULL,
|
|
"service" varchar(20) NOT NULL,
|
|
"indexed" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
PRIMARY KEY (id, service)
|
|
);
|
|
""",
|
|
"DROP TABLE lookup",
|
|
),
|
|
step(
|
|
"INSERT INTO lookup SELECT * FROM old_lookup ON CONFLICT DO NOTHING",
|
|
"INSERT INTO old_lookup SELECT * FROM lookup",
|
|
),
|
|
step(
|
|
"DROP TABLE old_lookup",
|
|
"""
|
|
CREATE TABLE old_lookup (
|
|
"id" varchar(255) NOT NULL,
|
|
"name" varchar(255) NOT NULL,
|
|
"service" varchar(20) NOT NULL,
|
|
"indexed" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
|
|
);
|
|
""",
|
|
),
|
|
]
|