"""Additive trust/inventory migration for Clean Agri Sales.

Usage from project root:
    python migrations/20260613_trust_inventory.py

The application also invokes the same idempotent migration during init_db().
"""
from pathlib import Path
import shutil
import sqlite3
import sys

ROOT = Path(__file__).resolve().parents[1]
sys.path.insert(0, str(ROOT))
from trust_features import migrate_trust_schema  # noqa: E402

DB = ROOT / "instance" / "inventory.sqlite3"
BACKUP = ROOT / "instance" / "inventory.pre_trust_update_20260613.sqlite3"

if not DB.exists():
    raise SystemExit(f"Database not found: {DB}")
if not BACKUP.exists():
    shutil.copy2(DB, BACKUP)

connection = sqlite3.connect(DB)
try:
    migrate_trust_schema(connection)
    connection.commit()
finally:
    connection.close()
print(f"Trust/inventory migration complete. Backup: {BACKUP}")
