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()