Portfolio invitations do not associate a user entity until the invitation has been accepted. User info, including DOD ID, is held on the invitation itself. When a user accepts and invitation, their user entry is associated with the corresponding `portfolio_role` entry. The same change will be applied to `application_role` and application invitations. For now, small changes have been made to application-related methods so that that flow works as-is.
55 lines
2.3 KiB
Python
55 lines
2.3 KiB
Python
"""add user data fields to invitations
|
|
|
|
Revision ID: 8467440c4ae6
|
|
Revises: 24700d113ea9
|
|
Create Date: 2019-05-31 12:40:10.457529
|
|
|
|
"""
|
|
from alembic import op
|
|
import sqlalchemy as sa
|
|
from sqlalchemy.dialects import postgresql
|
|
|
|
# revision identifiers, used by Alembic.
|
|
revision = '8467440c4ae6'
|
|
down_revision = '24700d113ea9'
|
|
branch_labels = None
|
|
depends_on = None
|
|
|
|
|
|
def upgrade():
|
|
# ### commands auto generated by Alembic - please adjust! ###
|
|
op.add_column('application_invitations', sa.Column('dod_id', sa.String(), nullable=True))
|
|
op.add_column('application_invitations', sa.Column('first_name', sa.String(), nullable=True))
|
|
op.add_column('application_invitations', sa.Column('last_name', sa.String(), nullable=True))
|
|
op.add_column('application_invitations', sa.Column('phone_number', sa.String(), nullable=True))
|
|
op.alter_column('application_roles', 'user_id',
|
|
existing_type=postgresql.UUID(),
|
|
nullable=True)
|
|
op.add_column('portfolio_invitations', sa.Column('dod_id', sa.String(), nullable=True))
|
|
op.add_column('portfolio_invitations', sa.Column('first_name', sa.String(), nullable=True))
|
|
op.add_column('portfolio_invitations', sa.Column('last_name', sa.String(), nullable=True))
|
|
op.add_column('portfolio_invitations', sa.Column('phone_number', sa.String(), nullable=True))
|
|
op.alter_column('portfolio_roles', 'user_id',
|
|
existing_type=postgresql.UUID(),
|
|
nullable=True)
|
|
# ### end Alembic commands ###
|
|
|
|
|
|
def downgrade():
|
|
# ### commands auto generated by Alembic - please adjust! ###
|
|
op.alter_column('portfolio_roles', 'user_id',
|
|
existing_type=postgresql.UUID(),
|
|
nullable=True)
|
|
op.drop_column('portfolio_invitations', 'phone_number')
|
|
op.drop_column('portfolio_invitations', 'last_name')
|
|
op.drop_column('portfolio_invitations', 'first_name')
|
|
op.drop_column('portfolio_invitations', 'dod_id')
|
|
op.alter_column('application_roles', 'user_id',
|
|
existing_type=postgresql.UUID(),
|
|
nullable=True)
|
|
op.drop_column('application_invitations', 'phone_number')
|
|
op.drop_column('application_invitations', 'last_name')
|
|
op.drop_column('application_invitations', 'first_name')
|
|
op.drop_column('application_invitations', 'dod_id')
|
|
# ### end Alembic commands ###
|