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()
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')
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)
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)
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()
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()
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()
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
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()