mirror of
https://github.com/pgadmin-org/pgadmin4.git
synced 2024-11-24 09:40:21 -06:00
51 lines
1.6 KiB
Python
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
|