Alembic fix for PROD #19

Merged
andika merged 1 commits from dev into loaf-prod 2026-01-05 10:31:38 +00:00
Showing only changes of commit cca694766b - Show all commits

View File

@@ -85,7 +85,24 @@ def upgrade() -> None:
print("\n[3/3] Fixing UserStatus enum values...") print("\n[3/3] Fixing UserStatus enum values...")
try: try:
# First, check if any users have deprecated status values # First, check if the enum has deprecated values
enum_values = conn.execute(sa.text("""
SELECT enumlabel
FROM pg_enum
WHERE enumtypid = (
SELECT oid FROM pg_type WHERE typname = 'userstatus'
)
""")).fetchall()
enum_values_list = [row[0] for row in enum_values]
has_deprecated = 'pending_approval' in enum_values_list or 'pre_approved' in enum_values_list
if not has_deprecated:
print(" ✓ UserStatus enum already correct (no deprecated values)")
else:
print(" ⏳ Found deprecated enum values, migrating...")
# Check if any users have deprecated status values
deprecated_count = conn.execute(sa.text(""" deprecated_count = conn.execute(sa.text("""
SELECT COUNT(*) FROM users SELECT COUNT(*) FROM users
WHERE status IN ('pending_approval', 'pre_approved') WHERE status IN ('pending_approval', 'pre_approved')