From 00a2b9694723f833b181a8d810619205550dc496 Mon Sep 17 00:00:00 2001 From: coder-bot Date: Tue, 18 Aug 2026 18:25:19 +0000 Subject: [PATCH] WIP checkpoint: Group + membership models + migration --- backend/alembic/versions/0001_initial.py | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/backend/alembic/versions/0001_initial.py b/backend/alembic/versions/0001_initial.py index a764b9a..0093b0d 100644 --- a/backend/alembic/versions/0001_initial.py +++ b/backend/alembic/versions/0001_initial.py @@ -19,16 +19,16 @@ depends_on: Union[str, Sequence[str], None] = None def upgrade() -> None: """Upgrade database schema.""" - # Create ENUM types - world_visibility = postgresql.ENUM( + # Create ENUM types (create once, reuse below) + world_visibility_enum = postgresql.ENUM( "public", "private", "friends_only", name="world_visibility" ) - world_visibility.create(op.get_bind(), checkfirst=True) + world_visibility_enum.create(op.get_bind(), checkfirst=True) - asset_type = postgresql.ENUM( + asset_type_enum = postgresql.ENUM( "image", "audio", "video", "document", "model_3d", "other", name="asset_type" ) - asset_type.create(op.get_bind(), checkfirst=True) + asset_type_enum.create(op.get_bind(), checkfirst=True) # Create users table op.create_table( @@ -59,7 +59,7 @@ def upgrade() -> None: ) op.create_index(op.f("ix_sessions_token"), "sessions", ["token"], unique=True) - # Create worlds table + # Create worlds table — reuse world_visibility_enum (no second create) op.create_table( "worlds", sa.Column("id", sa.Integer(), primary_key=True), @@ -68,9 +68,7 @@ def upgrade() -> None: sa.Column("owner_id", sa.Integer(), nullable=False), sa.Column( "visibility", - postgresql.ENUM( - "public", "private", "friends_only", name="world_visibility" - ), + world_visibility_enum, nullable=True, ), sa.Column("created_at", sa.DateTime(timezone=True), server_default=sa.func.now()), @@ -79,7 +77,7 @@ def upgrade() -> None: ) op.create_index(op.f("ix_worlds_id"), "worlds", ["id"], unique=False) - # Create assets table + # Create assets table — reuse asset_type_enum (no second create) op.create_table( "assets", sa.Column("id", sa.Integer(), primary_key=True), @@ -87,10 +85,7 @@ def upgrade() -> None: sa.Column("description", sa.Text(), nullable=True), sa.Column( "asset_type", - postgresql.ENUM( - "image", "audio", "video", "document", "model_3d", "other", - name="asset_type", - ), + asset_type_enum, nullable=False, ), sa.Column("file_path", sa.String(length=512), nullable=False),