JhHardwareWRS_BackPoint/scripts/migrate_product_key.py
2026-06-24 15:19:14 +08:00

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