"""
import_data.py

Entry point for importing all LeafDoctor AI datasets into PostgreSQL.

Usage
-----

python import_data.py

Workflow
--------

1. Connect to PostgreSQL
2. Create database tables
3. Import CSV datasets
4. Validate relationships
5. Generate crop_label_mapping.json
6. Generate import_report.json
"""

from database import SessionLocal, create_tables
from import_utils import ImportUtils


def main():
    print("\nStarting LeafDoctor AI data import...\n")

    # Create database tables if they do not exist
    create_tables()

    db = SessionLocal()

    try:
        importer = ImportUtils(db)
        importer.run_import()

        print("\nImport completed successfully.\n")

    except Exception as exc:
        print(f"\nImport failed: {exc}\n")
        raise

    finally:
        db.close()


if __name__ == "__main__":
    main()