80 lines
3.7 KiB
Python
80 lines
3.7 KiB
Python
"""Initial Migration Shared
|
|
|
|
Revision ID: 2bc15d1e557d
|
|
Revises:
|
|
Create Date: 2024-11-30 17:40:09.765054
|
|
|
|
"""
|
|
from typing import Sequence, Union
|
|
|
|
from alembic import op
|
|
import sqlalchemy as sa
|
|
import fastapi_users_db_sqlalchemy
|
|
|
|
|
|
# revision identifiers, used by Alembic.
|
|
revision: str = '2bc15d1e557d'
|
|
down_revision: Union[str, None] = None
|
|
branch_labels: Union[str, Sequence[str], None] = None
|
|
depends_on: Union[str, Sequence[str], None] = None
|
|
|
|
|
|
def upgrade() -> None:
|
|
# ### commands auto generated by Alembic - please adjust! ###
|
|
op.create_table('inquilinos',
|
|
sa.Column('nome', sa.String(length=100), nullable=False),
|
|
sa.Column('cpf_cnpj', sa.String(length=14), nullable=False),
|
|
sa.Column('pessoa_celular', sa.String(length=20), nullable=True),
|
|
sa.Column('uuid', sa.UUID(), nullable=False),
|
|
sa.PrimaryKeyConstraint('uuid', name=op.f('pk_ct_inquilinos')),
|
|
sa.UniqueConstraint('cpf_cnpj', name=op.f('uq_ct_inquilinos_cpf_cnpj'))
|
|
)
|
|
op.create_table('rbac_papeis',
|
|
sa.Column('nome', sa.String(length=50), nullable=False),
|
|
sa.Column('uuid', sa.UUID(), nullable=False),
|
|
sa.PrimaryKeyConstraint('uuid', name=op.f('pk_ct_rbac_papeis')),
|
|
sa.UniqueConstraint('nome', name=op.f('uq_ct_rbac_papeis_nome'))
|
|
)
|
|
op.create_table('rbac_permissoes',
|
|
sa.Column('id', sa.Integer(), nullable=False),
|
|
sa.Column('nome', sa.String(length=50), nullable=False),
|
|
sa.PrimaryKeyConstraint('id', name=op.f('pk_ct_rbac_permissoes')),
|
|
sa.UniqueConstraint('nome', name=op.f('uq_ct_rbac_permissoes_nome'))
|
|
)
|
|
op.create_table('rbac_papel_permissoes',
|
|
sa.Column('papel_uuid', sa.UUID(), nullable=False),
|
|
sa.Column('permissao_id', sa.Integer(), nullable=False),
|
|
sa.ForeignKeyConstraint(['papel_uuid'], ['shared.rbac_papeis.uuid'], name=op.f('fk_ct_rbac_papel_permissoes_papel_uuid_rbac_papeis')),
|
|
sa.ForeignKeyConstraint(['permissao_id'], ['shared.rbac_permissoes.id'], name=op.f('fk_ct_rbac_papel_permissoes_permissao_id_rbac_permissoes')),
|
|
sa.PrimaryKeyConstraint('papel_uuid', 'permissao_id', name=op.f('pk_ct_rbac_papel_permissoes'))
|
|
)
|
|
op.create_table('rbac_usuarios',
|
|
sa.Column('fk_inquilino_uuid', sa.UUID(), nullable=False),
|
|
sa.Column('id', fastapi_users_db_sqlalchemy.generics.GUID(), nullable=False),
|
|
sa.Column('email', sa.String(length=320), nullable=False),
|
|
sa.Column('hashed_password', sa.String(length=1024), nullable=False),
|
|
sa.Column('is_active', sa.Boolean(), nullable=False),
|
|
sa.Column('is_superuser', sa.Boolean(), nullable=False),
|
|
sa.Column('is_verified', sa.Boolean(), nullable=False),
|
|
sa.ForeignKeyConstraint(['fk_inquilino_uuid'], ['shared.inquilinos.uuid'], name=op.f('fk_ct_rbac_usuarios_fk_inquilino_uuid_inquilinos'), ondelete='CASCADE'),
|
|
sa.PrimaryKeyConstraint('id', name=op.f('pk_ct_rbac_usuarios'))
|
|
)
|
|
op.create_table('rbac_papeis_usuario',
|
|
sa.Column('user_uuid', sa.UUID(), nullable=False),
|
|
sa.Column('papel_uuid', sa.UUID(), nullable=False),
|
|
sa.ForeignKeyConstraint(['papel_uuid'], ['shared.rbac_papeis.uuid'], name=op.f('fk_ct_rbac_papeis_usuario_papel_uuid_rbac_papeis')),
|
|
sa.ForeignKeyConstraint(['user_uuid'], ['shared.rbac_usuarios.id'], name=op.f('fk_ct_rbac_papeis_usuario_user_uuid_rbac_usuarios')),
|
|
sa.PrimaryKeyConstraint('user_uuid', 'papel_uuid', name=op.f('pk_ct_rbac_papeis_usuario'))
|
|
)
|
|
# ### end Alembic commands ###
|
|
|
|
|
|
def downgrade() -> None:
|
|
# ### commands auto generated by Alembic - please adjust! ###
|
|
op.drop_table('rbac_papeis_usuario')
|
|
op.drop_table('rbac_usuarios')
|
|
op.drop_table('rbac_papel_permissoes')
|
|
op.drop_table('rbac_permissoes')
|
|
op.drop_table('rbac_papeis')
|
|
op.drop_table('inquilinos')
|
|
# ### end Alembic comman |