Initial commit: Masina-Dock Vehicle Management System
This commit is contained in:
commit
ae923e2c41
4999 changed files with 1607266 additions and 0 deletions
82
backend/init_db.py
Normal file
82
backend/init_db.py
Normal file
|
|
@ -0,0 +1,82 @@
|
|||
from app import app
|
||||
from models import db, User
|
||||
import os
|
||||
import sqlite3
|
||||
|
||||
def migrate_database():
|
||||
db_path = '/app/data/masina_dock.db'
|
||||
|
||||
if os.path.exists(db_path):
|
||||
conn = sqlite3.connect(db_path)
|
||||
cursor = conn.cursor()
|
||||
|
||||
try:
|
||||
cursor.execute("PRAGMA table_info(user)")
|
||||
columns = [column[1] for column in cursor.fetchall()]
|
||||
|
||||
if 'language' not in columns:
|
||||
print("Adding language column...")
|
||||
cursor.execute("ALTER TABLE user ADD COLUMN language VARCHAR(5) DEFAULT 'en'")
|
||||
|
||||
if 'unit_system' not in columns:
|
||||
print("Adding unit_system column...")
|
||||
cursor.execute("ALTER TABLE user ADD COLUMN unit_system VARCHAR(20) DEFAULT 'imperial'")
|
||||
|
||||
if 'currency' not in columns:
|
||||
print("Adding currency column...")
|
||||
cursor.execute("ALTER TABLE user ADD COLUMN currency VARCHAR(10) DEFAULT 'GBP'")
|
||||
|
||||
if 'photo' not in columns:
|
||||
print("Adding photo column...")
|
||||
cursor.execute("ALTER TABLE user ADD COLUMN photo VARCHAR(255)")
|
||||
|
||||
if 'must_change_credentials' not in columns:
|
||||
print("Adding must_change_credentials column...")
|
||||
cursor.execute("ALTER TABLE user ADD COLUMN must_change_credentials BOOLEAN DEFAULT 0")
|
||||
|
||||
if 'email_verified' not in columns:
|
||||
print("Adding email_verified column...")
|
||||
cursor.execute("ALTER TABLE user ADD COLUMN email_verified BOOLEAN DEFAULT 1")
|
||||
|
||||
if 'email_verification_token' not in columns:
|
||||
print("Adding email_verification_token column...")
|
||||
cursor.execute("ALTER TABLE user ADD COLUMN email_verification_token VARCHAR(100)")
|
||||
|
||||
if 'email_verification_sent_at' not in columns:
|
||||
print("Adding email_verification_sent_at column...")
|
||||
cursor.execute("ALTER TABLE user ADD COLUMN email_verification_sent_at DATETIME")
|
||||
|
||||
if 'two_factor_enabled' not in columns:
|
||||
print("Adding two_factor_enabled column...")
|
||||
cursor.execute("ALTER TABLE user ADD COLUMN two_factor_enabled BOOLEAN DEFAULT 0")
|
||||
|
||||
if 'two_factor_secret' not in columns:
|
||||
print("Adding two_factor_secret column...")
|
||||
cursor.execute("ALTER TABLE user ADD COLUMN two_factor_secret VARCHAR(32)")
|
||||
|
||||
if 'backup_codes' not in columns:
|
||||
print("Adding backup_codes column...")
|
||||
cursor.execute("ALTER TABLE user ADD COLUMN backup_codes TEXT")
|
||||
|
||||
if 'last_login' not in columns:
|
||||
print("Adding last_login column...")
|
||||
cursor.execute("ALTER TABLE user ADD COLUMN last_login DATETIME")
|
||||
|
||||
conn.commit()
|
||||
print("Database migration completed!")
|
||||
|
||||
except Exception as e:
|
||||
print(f"Migration error: {e}")
|
||||
conn.rollback()
|
||||
finally:
|
||||
conn.close()
|
||||
|
||||
def init_database():
|
||||
with app.app_context():
|
||||
migrate_database()
|
||||
db.create_all()
|
||||
print("Database initialized successfully!")
|
||||
print("Please register your admin account at http://localhost:5000/register")
|
||||
|
||||
if __name__ == '__main__':
|
||||
init_database()
|
||||
Loading…
Add table
Add a link
Reference in a new issue