📝 "Refactor: Update log rotation correction in logging update to app.log files

This commit is contained in:
2025-05-10 23:26:14 +02:00
parent 9939db731b
commit 40c3f6d9b4
5 changed files with 88 additions and 54 deletions

View File

@@ -9,9 +9,19 @@ import sqlite3
parent_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.insert(0, parent_dir)
from app import app, db_path
# Vermeidung zirkulärer Importe - importiere nur die Modelle und DB-Objekt
from models import db, User, Thought, MindMapNode, Category
def get_db_path():
"""Ermittelt den Pfad zur Datenbankdatei"""
db_dir = os.path.join(parent_dir, 'database')
if not os.path.exists(db_dir):
os.makedirs(db_dir)
return os.path.join(db_dir, 'systades.db')
# Datenbank-Pfad
db_path = get_db_path()
def test_database_connection():
"""Test if the database exists and can be connected to."""
try:
@@ -37,52 +47,52 @@ def test_database_connection():
def test_models():
"""Test if all models are properly defined and can be queried."""
with app.app_context():
try:
print("\nTesting User model...")
user_count = User.query.count()
print(f" Found {user_count} users")
print("\nTesting Category model...")
category_count = Category.query.count()
print(f" Found {category_count} categories")
print("\nTesting MindMapNode model...")
node_count = MindMapNode.query.count()
print(f" Found {node_count} mindmap nodes")
print("\nTesting Thought model...")
thought_count = Thought.query.count()
print(f" Found {thought_count} thoughts")
if user_count == 0:
print("\nWARNING: No users found in the database. You might need to create an admin user.")
return True
except Exception as e:
print(f"Error testing models: {e}")
return False
# Import app here to avoid circular import
from flask import current_app
try:
print("\nTesting User model...")
user_count = User.query.count()
print(f" Found {user_count} users")
print("\nTesting Category model...")
category_count = Category.query.count()
print(f" Found {category_count} categories")
print("\nTesting MindMapNode model...")
node_count = MindMapNode.query.count()
print(f" Found {node_count} mindmap nodes")
print("\nTesting Thought model...")
thought_count = Thought.query.count()
print(f" Found {thought_count} thoughts")
if user_count == 0:
print("\nWARNING: No users found in the database. You might need to create an admin user.")
return True
except Exception as e:
print(f"Error testing models: {e}")
return False
def print_database_stats():
"""Print database statistics."""
with app.app_context():
try:
stats = []
stats.append(("Users", User.query.count()))
stats.append(("Categories", Category.query.count()))
stats.append(("Mindmap Nodes", MindMapNode.query.count()))
stats.append(("Thoughts", Thought.query.count()))
print("\nDatabase Statistics:")
print("-" * 40)
for name, count in stats:
print(f"{name:<20} : {count}")
print("-" * 40)
return True
except Exception as e:
print(f"Error generating database statistics: {e}")
return False
try:
stats = []
stats.append(("Users", User.query.count()))
stats.append(("Categories", Category.query.count()))
stats.append(("Mindmap Nodes", MindMapNode.query.count()))
stats.append(("Thoughts", Thought.query.count()))
print("\nDatabase Statistics:")
print("-" * 40)
for name, count in stats:
print(f"{name:<20} : {count}")
print("-" * 40)
return True
except Exception as e:
print(f"Error generating database statistics: {e}")
return False
def run_all_tests():
"""Run all database tests."""
@@ -97,15 +107,18 @@ def run_all_tests():
if not test_database_connection():
success = False
# Test models
print("\n2. Testing database models...")
if not test_models():
success = False
# Print statistics
print("\n3. Database statistics:")
if not print_database_stats():
success = False
# Import app here to avoid circular import
from app import app
with app.app_context():
# Test models
print("\n2. Testing database models...")
if not test_models():
success = False
# Print statistics
print("\n3. Database statistics:")
if not print_database_stats():
success = False
print("\n" + "=" * 60)
if success:
@@ -117,4 +130,7 @@ def run_all_tests():
return success
if __name__ == "__main__":
run_all_tests()
# Import app here to avoid circular import
from app import app
with app.app_context():
run_all_tests()