WIP checkpoint: Group + membership models + migration

This commit is contained in:
2026-08-18 18:25:19 +00:00
parent 78294d3be2
commit 00a2b96947
+9 -14
View File
@@ -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),