30 lines
943 B
Python
30 lines
943 B
Python
from pathlib import Path
|
|
import sys
|
|
|
|
ROOT = Path(__file__).resolve().parents[1]
|
|
sys.path.insert(0, str(ROOT))
|
|
|
|
from sqlalchemy import text # noqa: E402
|
|
|
|
from app.database import SessionLocal # noqa: E402
|
|
|
|
|
|
def main() -> None:
|
|
with SessionLocal() as db:
|
|
db.execute(text("UPDATE products SET process_name = '' WHERE process_name IS NULL"))
|
|
db.execute(text("ALTER TABLE products DROP PRIMARY KEY"))
|
|
db.execute(text("ALTER TABLE products MODIFY device_no VARCHAR(64) NOT NULL"))
|
|
db.execute(text("ALTER TABLE products MODIFY process_name VARCHAR(128) NOT NULL"))
|
|
db.execute(
|
|
text(
|
|
"ALTER TABLE products "
|
|
"ADD PRIMARY KEY (project_no, product_name, device_no, process_name)"
|
|
)
|
|
)
|
|
db.commit()
|
|
print("products primary key migrated to project_no + product_name + device_no + process_name")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|