From ef8854d39d435d7e3e20c94d50a0d0a3432b1377 Mon Sep 17 00:00:00 2001 From: Kobe Date: Sun, 8 Jun 2025 17:13:20 +0200 Subject: [PATCH] Update init_db.py --- init_db.py | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/init_db.py b/init_db.py index b3ea5a9..4e40954 100644 --- a/init_db.py +++ b/init_db.py @@ -1,12 +1,33 @@ from app import app, db, User from flask_migrate import upgrade +from sqlalchemy import text def init_db(): with app.app_context(): - # Create all tables - db.create_all() - # Run any pending migrations - upgrade() + try: + # Try to run migrations first + upgrade() + except Exception as e: + print(f"Migration error (this is normal if tables exist): {e}") + + # Check if section_id column exists in plant table + try: + result = db.session.execute(text("SELECT section_id FROM plant LIMIT 1")) + print("section_id column exists") + except Exception: + print("Adding section_id column to plant table") + try: + # Add section_id column if it doesn't exist + db.session.execute(text(""" + ALTER TABLE plant + ADD COLUMN IF NOT EXISTS section_id INTEGER + REFERENCES section(id) + """)) + db.session.commit() + print("Added section_id column successfully") + except Exception as e: + print(f"Error adding section_id column: {e}") + db.session.rollback() # Create default admin user if it doesn't exist admin = User.query.filter_by(username='admin').first()