File size: 1,042 Bytes
2ae3f7c |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
from models.database import Database
from passlib.hash import pbkdf2_sha256
import os
def init_database():
# Create data directory if it doesn't exist
os.makedirs("data", exist_ok=True)
# Initialize database
db = Database()
# Create admin user
admin_username = "admin"
admin_password = "admin123" # Change this in production
password_hash = pbkdf2_sha256.hash(admin_password)
# Add admin user to database
conn = db._get_connection()
c = conn.cursor()
try:
c.execute("""
INSERT INTO users (username, password_hash, is_admin)
VALUES (?, ?, 1)
""", (admin_username, password_hash))
conn.commit()
print(f"Created admin user: {admin_username}")
print("Default password: admin123 (please change this in production)")
except Exception as e:
print(f"Error creating admin user: {str(e)}")
finally:
conn.close()
if __name__ == "__main__":
init_database() |