Initial commit - LEGO Instructions Manager v1.5.0
This commit is contained in:
82
add_admin_column.py
Normal file
82
add_admin_column.py
Normal file
@@ -0,0 +1,82 @@
|
||||
"""
|
||||
Quick Migration - Add is_admin column to users table
|
||||
"""
|
||||
|
||||
import sqlite3
|
||||
import os
|
||||
|
||||
def find_database():
|
||||
"""Find the database file."""
|
||||
script_dir = os.path.dirname(os.path.abspath(__file__))
|
||||
possible_paths = [
|
||||
os.path.join(script_dir, 'instance', 'lego_instructions.db'),
|
||||
os.path.join(script_dir, 'lego_instructions.db'),
|
||||
os.path.join(script_dir, 'app', 'lego_instructions.db'),
|
||||
]
|
||||
|
||||
for path in possible_paths:
|
||||
if os.path.exists(path):
|
||||
return path
|
||||
|
||||
return None
|
||||
|
||||
def main():
|
||||
db_path = find_database()
|
||||
|
||||
if not db_path:
|
||||
print("=" * 70)
|
||||
print("❌ Database not found!")
|
||||
print("=" * 70)
|
||||
return
|
||||
|
||||
print("=" * 70)
|
||||
print("Quick Migration - Adding is_admin Column")
|
||||
print("=" * 70)
|
||||
print()
|
||||
print(f"Database: {db_path}")
|
||||
print()
|
||||
|
||||
try:
|
||||
conn = sqlite3.connect(db_path)
|
||||
cursor = conn.cursor()
|
||||
|
||||
# Check if column exists
|
||||
cursor.execute("PRAGMA table_info(users)")
|
||||
columns = [col[1] for col in cursor.fetchall()]
|
||||
|
||||
if 'is_admin' in columns:
|
||||
print("✅ Column 'is_admin' already exists!")
|
||||
print(" No migration needed.")
|
||||
else:
|
||||
print("Adding 'is_admin' column...")
|
||||
cursor.execute("""
|
||||
ALTER TABLE users
|
||||
ADD COLUMN is_admin BOOLEAN DEFAULT 0 NOT NULL
|
||||
""")
|
||||
conn.commit()
|
||||
print("✅ Successfully added 'is_admin' column!")
|
||||
|
||||
# Try to add index
|
||||
try:
|
||||
cursor.execute("CREATE INDEX idx_users_is_admin ON users(is_admin)")
|
||||
conn.commit()
|
||||
print("✅ Created index on is_admin column!")
|
||||
except sqlite3.OperationalError:
|
||||
print(" (Index already exists)")
|
||||
|
||||
conn.close()
|
||||
|
||||
print()
|
||||
print("=" * 70)
|
||||
print("Migration complete!")
|
||||
print("=" * 70)
|
||||
print()
|
||||
print("Next step: Run check_admin.py to make jessikitty an admin")
|
||||
print()
|
||||
|
||||
except Exception as e:
|
||||
print(f"❌ Error: {e}")
|
||||
return
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user