51 lines
1.2 KiB
Python
51 lines
1.2 KiB
Python
"""Add email to invite
|
|
|
|
Revision ID: 02d11579a581
|
|
Revises: 4f46aecb337f
|
|
Create Date: 2018-11-19 14:51:33.178358
|
|
|
|
"""
|
|
from alembic import op
|
|
import sqlalchemy as sa
|
|
from sqlalchemy.sql import text
|
|
|
|
|
|
# revision identifiers, used by Alembic.
|
|
revision = '02d11579a581'
|
|
down_revision = '4f46aecb337f'
|
|
branch_labels = None
|
|
depends_on = None
|
|
|
|
|
|
def upgrade():
|
|
op.add_column('invitations', sa.Column('email', sa.String()))
|
|
conn = op.get_bind()
|
|
# Add non-null value to email column
|
|
conn.execute(
|
|
text(
|
|
"""
|
|
insert into invitations (email)
|
|
select u.email
|
|
from invitations i
|
|
inner join workspace_roles wr on i.workspace_role_id = wr.id
|
|
inner join users u on wr.user_id = u.id
|
|
where i.email is null;
|
|
"""
|
|
)
|
|
)
|
|
conn.execute(
|
|
text(
|
|
"""
|
|
update invitations
|
|
set email = 'example@example.com'
|
|
where email is null;
|
|
"""
|
|
)
|
|
)
|
|
op.alter_column('invitations', 'email', nullable=False)
|
|
|
|
def downgrade():
|
|
# ### commands auto generated by Alembic - please adjust! ###
|
|
op.drop_column('invitations', 'email')
|
|
# ### end Alembic commands ###
|