-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathsetup_database.py
More file actions
61 lines (50 loc) · 2.18 KB
/
setup_database.py
File metadata and controls
61 lines (50 loc) · 2.18 KB
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#!/usr/bin/env python3
"""
Initialize the SQLite database for user activity tracking
"""
import os
import sys
# Make sure we're in the right directory
if __name__ == "__main__":
print("🗄️ Initializing VulnScanner Database")
print("=" * 50)
try:
# Import database manager
from core.database import db_manager, Base
from core.user_manager import UserManager
if db_manager.connected:
print("✅ Database connection: OK")
print(f"📍 Database location: {os.path.abspath('vulnscanner.db')}")
# Tables are already created by database.py initialization
print("✅ Database tables created/verified")
# List tables
from sqlalchemy import inspect
inspector = inspect(db_manager.engine)
tables = inspector.get_table_names()
print(f"\n📋 Database tables ({len(tables)}):")
for table in tables:
print(f" - {table}")
# Check if default users exist
print("\n👥 Checking user accounts...")
user_manager = UserManager()
users = user_manager.list_users()
print(f" Found {len(users)} user(s):")
for user in users:
print(f" - {user['username']} ({user['role']})")
# Get activity count
with db_manager.get_session() as session:
from core.database import UserActivity
activity_count = session.query(UserActivity).count()
print(f"\n📊 User activities logged: {activity_count}")
print("\n" + "=" * 50)
print("🎉 Database setup completed successfully!")
print("\nYou can now run the application with: python main.py")
else:
print("❌ Database connection failed!")
print(" Check your database configuration in config.py")
sys.exit(1)
except Exception as e:
print(f"❌ Error during database setup: {e}")
import traceback
traceback.print_exc()
sys.exit(1)