pgadmin4/web/migrations/versions/7fedf8531802_.py
2024-01-01 14:13:48 +05:30

51 lines
1.6 KiB
Python

##########################################################################
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2024, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
"""
Revision ID: 7fedf8531802
Revises: aff1436e3c8c
Create Date: 2020-02-26 11:24:54.353288
"""
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision = '7fedf8531802'
down_revision = 'aff1436e3c8c'
branch_labels = None
depends_on = None
def upgrade():
op.add_column('user', sa.Column('username', sa.String(length=256),
nullable=False, server_default=''))
op.add_column('user', sa.Column('auth_source', sa.String(length=256),
nullable=False, server_default='internal'))
with op.batch_alter_table("user") as batch_op:
batch_op.alter_column('email', nullable=True)
batch_op.drop_constraint('user_unique_constraint')
batch_op.create_unique_constraint('user_unique_constraint',
['username', 'auth_source'])
# For internal email is a user name, so update the existing records.
meta = sa.MetaData()
# define table representation
meta.reflect(op.get_bind(), only=('user',))
user_table = sa.Table('user', meta)
op.execute(
user_table.update().values(username=user_table.c.email)
)
def downgrade():
# pgAdmin only upgrades, downgrade not implemented.
pass