26 lines
935 B
Python
26 lines
935 B
Python
"""Backfill the namespace_user fields.
|
|
|
|
Revision ID: 3f4fe1194671
|
|
Revises: 6f2ecf5afcf
|
|
Create Date: 2014-09-24 14:29:45.192179
|
|
|
|
"""
|
|
|
|
# revision identifiers, used by Alembic.
|
|
revision = '3f4fe1194671'
|
|
down_revision = '6f2ecf5afcf'
|
|
|
|
from alembic import op
|
|
import sqlalchemy as sa
|
|
|
|
|
|
def upgrade(tables):
|
|
conn = op.get_bind()
|
|
user_table_name_escaped = conn.dialect.identifier_preparer.format_table(tables['user'])
|
|
conn.execute('update repository set namespace_user_id = (select id from {0} where {0}.username = repository.namespace) where namespace_user_id is NULL'.format(user_table_name_escaped))
|
|
op.create_index('repository_namespace_user_id_name', 'repository', ['namespace_user_id', 'name'], unique=True)
|
|
|
|
|
|
def downgrade(tables):
|
|
op.drop_constraint('fk_repository_namespace_user_id_user', table_name='repository', type_='foreignkey')
|
|
op.drop_index('repository_namespace_user_id_name', table_name='repository')
|