def downgrade(migrate_engine):
    # Operations to reverse the above upgrade go here.
    meta = MetaData(bind=migrate_engine)
    submissions = Table('submissions', meta, autoload=True)
    slugu = UniqueConstraint(submissions.c.slug)
    slugu.drop()
    submissions.c.slug.drop()
示例#2
0
def upgrade(migrate_engine):
    meta.bind = migrate_engine
    dialect = migrate_engine.url.get_dialect().name

    domains_table = Table('domains', meta, autoload=True)

    if not dialect.startswith('sqlite'):
        constraint = UniqueConstraint('name', name='name', table=domains_table)
        constraint.drop()
    else:
        # SQLite can't drop a constraint. Yay. This will be fun..

        # Create a new name column without the unique index
        name_tmp_column = Column('name_tmp', String(255))
        name_tmp_column.create(domains_table)

        # Copy the data over.
        query = update(domains_table).values(name_tmp=domains_table.c.name)
        migrate_engine.execute(query)

        # Delete the name column
        domains_table.c.name.drop()

        # Rename the name_tmp column to name
        domains_table.c.name_tmp.alter(name='name')
示例#3
0
def downgrade(migrate_engine):
    meta.bind = migrate_engine

    domains_table = Table('domains', meta, autoload=True)

    # Drop the multi-column unique index
    constraint = UniqueConstraint('name',
                                  'deleted',
                                  name='unique_domain_name',
                                  table=domains_table)
    constraint.drop()

    # Revert to single column unique
    # NOTE(kiall): It appears this does nothing. Miration 17 has been added.
    #              leaving this here for reference.
    domains_table.c.name.alter(unique=True)

    # Drop the deleted columns
    deleted_column = Column('deleted', CHAR(32), nullable=True, default=None)
    deleted_column.drop(domains_table)

    deleted_at_column = Column('deleted_at',
                               DateTime,
                               nullable=True,
                               default=None)
    deleted_at_column.drop(domains_table)
def upgrade(migrate_engine):
    meta.bind = migrate_engine
    dialect = migrate_engine.url.get_dialect().name

    domains_table = Table('domains', meta, autoload=True)

    if dialect.startswith('sqlite'):
        # SQLite can't drop a constraint. Yay. This will be fun..

        # Create a new name column without the unique index
        name_tmp_column = Column('name_tmp', String(255))
        name_tmp_column.create(domains_table)

        # Copy the data over.
        query = update(domains_table).values(name_tmp=domains_table.c.name)
        migrate_engine.execute(query)

        # Delete the name column
        domains_table.c.name.drop()

        # Rename the name_tmp column to name
        domains_table.c.name_tmp.alter(name='name')
    elif dialect.startswith('postgresql'):
        constraint = UniqueConstraint('name', name='domains_name_key',
                                      table=domains_table)
        constraint.drop()
    else:
        constraint = UniqueConstraint('name', name='name', table=domains_table)
        constraint.drop()
def downgrade(migrate_engine):
    meta = sqlalchemy.MetaData(bind=migrate_engine)
    event = sqlalchemy.Table('event', meta, autoload=True)
    message_id = sqlalchemy.Column('message_id', sqlalchemy.String(50))
    cons = UniqueConstraint('message_id', table=event)
    cons.drop()
    index = sqlalchemy.Index('idx_event_message_id', models.Event.message_id)
    index.drop(bind=migrate_engine)
    event.drop_column(message_id)
示例#6
0
def downgrade(migrate_engine):
    meta = sqlalchemy.MetaData(bind=migrate_engine)
    event = sqlalchemy.Table('event', meta, autoload=True)
    message_id = sqlalchemy.Column('message_id', sqlalchemy.String(50))
    cons = UniqueConstraint('message_id', table=event)
    cons.drop()
    index = sqlalchemy.Index('idx_event_message_id', event.c.message_id)
    index.drop(bind=migrate_engine)
    event.drop_column(message_id)
def upgrade(migrate_engine):
    meta.bind = migrate_engine

    t = Table("demographics", meta, autoload=True)

    cons = UniqueConstraint(t.c.nhs_number, name='ix_demographics_nhs_number')
    cons.drop()

    idx = Index('ix_demographics_nhs_number', t.c.nhs_number)
    idx.create(migrate_engine)
示例#8
0
def downgrade(migrate_engine):
    meta.bind = migrate_engine
    dialect = migrate_engine.url.get_dialect().name

    if dialect.startswith('sqlite'):
        records_table = Table('records', meta, autoload=True)

        # Drop the unique index
        constraint = UniqueConstraint('hash',
                                      name='unique_recordset',
                                      table=records_table)
        constraint.drop()
def downgrade(migrate_engine):
    meta.bind = migrate_engine

    domains_table = Table('domains', meta, autoload=True)

    constraint = UniqueConstraint('name', 'deleted', 'pool_id',
                                  name=CONSTRAINT_NAME,
                                  table=domains_table)
    constraint.drop()

    constraint = UniqueConstraint('name', 'deleted',
                                  name=CONSTRAINT_NAME,
                                  table=domains_table)
    constraint.create()
def downgrade(migrate_engine):
    meta.bind = migrate_engine
    t = Table("user", meta, autoload=True)

    t.c.date_created.alter(name='created_datetime')

    email_cons = UniqueConstraint(t.c.email, name='udx__user__email')
    email_cons.drop()

    t.c.email.drop()
    t.c.password.drop()
    t.c.confirmed_at.drop()
    t.c.last_login_at.drop()
    t.c.current_login_at.drop()
    t.c.last_login_ip.drop()
    t.c.current_login_ip.drop()
    t.c.login_count.drop()
def downgrade(migrate_engine):
    meta.bind = migrate_engine

    domains_table = Table('domains', meta, autoload=True)

    constraint = UniqueConstraint('name',
                                  'deleted',
                                  'pool_id',
                                  name=CONSTRAINT_NAME,
                                  table=domains_table)
    constraint.drop()

    constraint = UniqueConstraint('name',
                                  'deleted',
                                  name=CONSTRAINT_NAME,
                                  table=domains_table)
    constraint.create()
def downgrade(migrate_engine):
    meta.bind = migrate_engine
    dialect = migrate_engine.url.get_dialect().name

    if dialect.startswith('sqlite'):
        domains_table = Table('domains', meta, autoload=True)
        servers_table = Table('servers', meta, autoload=True)

        # Add a new multi-column unique index
        constraint = UniqueConstraint('name', 'deleted',
                                      name='unique_domain_name',
                                      table=domains_table)
        constraint.drop()

        # Add a missing unique index
        constraint = UniqueConstraint('name',
                                      name='unique_server_name',
                                      table=servers_table)
        constraint.drop()
示例#13
0
    def test_failure(self):
        # Drop unique constraint so we can test error cases
        constraint = UniqueConstraint('service_name', 'hostname',
                                      table=self.service_statuses_table,
                                      name="unique_service_status")
        constraint.drop()
        fake_record = {'id': '1',
                       'service_name': 'worker',
                       'hostname': 'localhost',
                       'status': 'UP',
                       'stats': '',
                       'capabilities': '',
                       }
        self.service_statuses_table.insert().execute(fake_record)
        fake_record['id'] = '2'
        self.service_statuses_table.insert().execute(fake_record)

        checks = status.Checks()
        self.assertEqual(upgradecheck.Code.FAILURE,
                         checks._duplicate_service_status().code)
def downgrade(migrate_engine):
    meta.bind = migrate_engine

    domains_table = Table("domains", meta, autoload=True)

    # Drop the multi-column unique index
    constraint = UniqueConstraint("name", "deleted", name="unique_domain_name", table=domains_table)
    constraint.drop()

    # Revert to single column unique
    # NOTE(kiall): It appears this does nothing. Miration 17 has been added.
    #              leaving this here for reference.
    domains_table.c.name.alter(unique=True)

    # Drop the deleted columns
    deleted_column = Column("deleted", CHAR(32), nullable=True, default=None)
    deleted_column.drop(domains_table)

    deleted_at_column = Column("deleted_at", DateTime, nullable=True, default=None)
    deleted_at_column.drop(domains_table)
def downgrade(migrate_engine):
    meta.bind = migrate_engine
    dialect = migrate_engine.url.get_dialect().name

    if dialect.startswith('sqlite'):
        domains_table = Table('domains', meta, autoload=True)
        servers_table = Table('servers', meta, autoload=True)

        # Add a new multi-column unique index
        constraint = UniqueConstraint('name',
                                      'deleted',
                                      name='unique_domain_name',
                                      table=domains_table)
        constraint.drop()

        # Add a missing unique index
        constraint = UniqueConstraint('name',
                                      name='unique_server_name',
                                      table=servers_table)
        constraint.drop()
示例#16
0
    def test_failure(self):
        # Drop unique constraint so we can test error cases
        constraint = UniqueConstraint('service_name',
                                      'hostname',
                                      table=self.service_statuses_table,
                                      name="unique_service_status")
        constraint.drop()
        fake_record = {
            'id': '1',
            'service_name': 'worker',
            'hostname': 'localhost',
            'status': 'UP',
            'stats': '',
            'capabilities': '',
        }
        self.service_statuses_table.insert().execute(fake_record)
        fake_record['id'] = '2'
        self.service_statuses_table.insert().execute(fake_record)

        checks = status.Checks()
        self.assertEqual(upgradecheck.Code.FAILURE,
                         checks._duplicate_service_status().code)
def downgrade(migrate_engine):
    meta.bind = migrate_engine
    pool_attributes_table = Table('pool_attributes', meta, autoload=True)
    # pools = Table('pools', meta, autoload=True)

    constraint = UniqueConstraint('pool_id', 'key', 'value',
                                  name='unique_pool_attribute',
                                  table=pool_attributes_table)

    fk_constraint = ForeignKeyConstraint(columns=['pool_id'],
                                         refcolumns=['pools.id'],
                                         ondelete='CASCADE',
                                         table=pool_attributes_table)

    # First have to drop the ForeignKeyConstraint
    fk_constraint.drop()

    # Then drop the UniqueConstraint
    constraint.drop()

    # Then recreate the ForeignKeyConstraint
    fk_constraint.create()
示例#18
0
def upgrade(migrate_engine):
    meta = MetaData()
    meta.bind = migrate_engine
    c_names = _get_constraint_names(migrate_engine.name)

    table = Table('instance_types', meta, autoload=True)
    for constraint_name in c_names['instance_types_name']:
        cons = UniqueConstraint('name', name=constraint_name, table=table)
        cons.drop()
    cons = UniqueConstraint('flavorid',
                            name=c_names['instance_types_flavorid'],
                            table=table)
    cons.drop()
    table = Table('volume_types', meta, autoload=True)
    cons = UniqueConstraint('name',
                            name=c_names['volume_types_name'],
                            table=table)
    cons.drop()
def upgrade(migrate_engine):
    meta.bind = migrate_engine
    table = Table('instance_types', meta, autoload=True)
    # NOTE(vish): These constraint names may be dependent on the backend, but
    #             there doesn't seem to be we a way to determine the proper
    #             name for existing constraints. These names are correct for
    #             mysql.
    cons = UniqueConstraint('name',
                            name='name',
                            table=table)
    cons.drop()
    cons = UniqueConstraint('flavorid',
                            name='instance_types_flavorid_str_key',
                            table=table)
    cons.drop()
    table = Table('volume_types', meta, autoload=True)
    cons = UniqueConstraint('name',
                            name='name',
                            table=table)
    cons.drop()
def upgrade(migrate_engine):
    meta = MetaData()
    meta.bind = migrate_engine
    c_names = _get_constraint_names(migrate_engine.name)

    table = Table('instance_types', meta, autoload=True)
    for constraint_name in c_names['instance_types_name']:
        cons = UniqueConstraint('name',
                                name=constraint_name,
                                table=table)
        cons.drop()
    cons = UniqueConstraint('flavorid',
                            name=c_names['instance_types_flavorid'],
                            table=table)
    cons.drop()
    table = Table('volume_types', meta, autoload=True)
    cons = UniqueConstraint('name',
                            name=c_names['volume_types_name'],
                            table=table)
    cons.drop()
def drop_unique_constraint(uc_def):
    uc = UniqueConstraint(*uc_def[2], table=uc_def[0], name=uc_def[1])
    try:
        uc.drop()
    except PathNotFoundError:
        pass
def drop_unique_constraint(uc_def):
    uc = UniqueConstraint(*uc_def[2], table=uc_def[0], name=uc_def[1])
    try:
        uc.drop()
    except PathNotFoundError:
        pass
示例#23
0
def downgrade(migrate_engine):
    meta.bind = migrate_engine
    t = Table("users_studies", meta, autoload=True)
    cons = UniqueConstraint(t.c.user_id, t.c.study_id)
    cons.drop()
def downgrade(migrate_engine):
    meta.bind = migrate_engine
    t = Table("blinding_type", meta, autoload=True)
    cons = UniqueConstraint(t.c.blinding_set_id, t.c.name,
                            t.c.duplicate_number)
    cons.drop()
def downgrade(migrate_engine):
    meta = MetaData(bind=migrate_engine)
    cons = UniqueConstraint('owner_hash', table=files)
    cons.drop()