Fix migration to skip already-existing evotor_user_id column/indexes
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -16,12 +16,31 @@ depends_on = None
|
|||||||
|
|
||||||
|
|
||||||
def upgrade() -> None:
|
def upgrade() -> None:
|
||||||
op.add_column('evotor_connections',
|
conn = op.get_bind()
|
||||||
sa.Column('evotor_user_id', sa.String(255), nullable=True))
|
|
||||||
op.create_unique_constraint('uq_evotor_connections_evotor_user_id',
|
# Check existing columns
|
||||||
'evotor_connections', ['evotor_user_id'])
|
columns = [row[0] for row in conn.execute(sa.text(
|
||||||
op.create_index('ix_evotor_connections_evotor_user_id',
|
"SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS "
|
||||||
'evotor_connections', ['evotor_user_id'])
|
"WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'evotor_connections'"
|
||||||
|
))]
|
||||||
|
|
||||||
|
if 'evotor_user_id' not in columns:
|
||||||
|
op.add_column('evotor_connections',
|
||||||
|
sa.Column('evotor_user_id', sa.String(255), nullable=True))
|
||||||
|
|
||||||
|
# Check existing indexes
|
||||||
|
indexes = [row[2] for row in conn.execute(sa.text(
|
||||||
|
"SHOW INDEX FROM evotor_connections"
|
||||||
|
))]
|
||||||
|
|
||||||
|
if 'uq_evotor_connections_evotor_user_id' not in indexes:
|
||||||
|
op.create_unique_constraint('uq_evotor_connections_evotor_user_id',
|
||||||
|
'evotor_connections', ['evotor_user_id'])
|
||||||
|
|
||||||
|
if 'ix_evotor_connections_evotor_user_id' not in indexes:
|
||||||
|
op.create_index('ix_evotor_connections_evotor_user_id',
|
||||||
|
'evotor_connections', ['evotor_user_id'])
|
||||||
|
|
||||||
op.alter_column('evotor_connections', 'user_id', nullable=True)
|
op.alter_column('evotor_connections', 'user_id', nullable=True)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user