IndiScan / init_db.py
Wendgan's picture
Upload 9 files
2ae3f7c verified
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()