def upgrade()

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";
        """
    )