- Trying to solve database initialisation problem (no tables in tenant schema).

This commit is contained in:
Josako
2025-09-05 11:11:08 +02:00
parent 6115cc7e13
commit a6edd5c663
7 changed files with 32 additions and 13 deletions

View File

@@ -21,7 +21,7 @@ def initialize_data():
- Default tenant (ID 1)
- Admin user (ID 1)
"""
print("Starting data initialization...")
print("💜 Starting data initialization...")
app = create_app()
@@ -36,12 +36,12 @@ def initialize_data():
# Step 3: Initialize admin user
admin_user = initialize_admin_user(default_tenant)
print("Data initialization completed successfully")
print("💜 Data initialization completed successfully")
def initialize_roles():
"""Initialize system roles with IDs below 1000"""
print("Initializing system roles...")
print("🧡 Initializing system roles...")
# Define system roles - matching the exact IDs and names you specified
roles_data = [
@@ -69,12 +69,14 @@ def initialize_roles():
db.session.execute(text("ALTER SEQUENCE public.role_id_seq RESTART WITH 1000"))
db.session.commit()
print("🧡 Finished initializing system roles.")
return roles
def initialize_default_tenant():
"""Initialize the default system tenant with ID 1"""
print("Initializing default tenant...")
print("🧡 Initializing default tenant...")
tenant_data = {
'id': 1,
@@ -90,20 +92,22 @@ def initialize_default_tenant():
tenant = db.session.get(Tenant, tenant_data['id'])
if not tenant:
print(f"Creating default tenant: {tenant_data['name']} (ID: {tenant_data['id']})")
print(f"💛 Creating default tenant: {tenant_data['name']} (ID: {tenant_data['id']})")
tenant = Tenant(**tenant_data)
db.session.add(tenant)
db.session.commit()
# Create tenant schema
print(f"Creating schema for tenant {tenant.id}")
print(f"💛 Creating schema for tenant {tenant.id}")
Database(tenant.id).create_tenant_schema()
# Create MinIO bucket
print(f"Creating MinIO bucket for tenant {tenant.id}")
print(f"💛 Creating MinIO bucket for tenant {tenant.id}")
minio_client.create_tenant_bucket(tenant.id)
else:
print(f"Default tenant already exists: {tenant.name} (ID: {tenant.id})")
print(f"🧡 Default tenant already exists: {tenant.name} (ID: {tenant.id})")
print(f"🧡 Finished initializing default tenant.")
return tenant