in src/Backend/migrations/versions/2023_04_29_143931-8518ccf74f6b_startup_db.py [0:0]
def upgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
op.create_table(
"roles",
sa.Column("id", sa.UUID(), nullable=False),
sa.Column("name", sa.String(length=100), nullable=False),
sa.Column(
"display_name", postgresql.JSON(astext_type=sa.Text()), nullable=False
),
sa.Column(
"description", postgresql.JSON(astext_type=sa.Text()), nullable=False
),
sa.Column(
"scopes",
postgresql.JSONB(none_as_null=True, astext_type=sa.Text()),
nullable=False,
),
sa.Column("created_at", sa.DateTime(timezone=True), nullable=False),
sa.Column("updated_at", sa.DateTime(timezone=True), nullable=False),
sa.PrimaryKeyConstraint("id"),
)
op.create_table(
"users",
sa.Column("id", sa.UUID(), nullable=False),
sa.Column("firebase_id", sa.String(length=100), nullable=True),
sa.Column("name", sa.String(length=100), nullable=True),
sa.Column("email_address", sa.String(length=100), nullable=True),
sa.Column("created_at", sa.DateTime(timezone=True), nullable=False),
sa.Column("updated_at", sa.DateTime(timezone=True), nullable=False),
sa.PrimaryKeyConstraint("id"),
sa.UniqueConstraint("email_address"),
)
op.create_table(
"role_user",
sa.Column("role_id", sa.UUID(), nullable=False),
sa.Column("user_id", sa.UUID(), nullable=False),
sa.ForeignKeyConstraint(["role_id"], ["roles.id"], ondelete="CASCADE"),
sa.ForeignKeyConstraint(["user_id"], ["users.id"], ondelete="CASCADE"),
sa.PrimaryKeyConstraint("role_id", "user_id"),
)
op.create_index(
op.f("ix_role_user_role_id"), "role_user", ["role_id"], unique=False
)
op.create_index(
op.f("ix_role_user_user_id"), "role_user", ["user_id"], unique=False
)
op.execute(
"""
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
"""
)