def version(self): """Print the current database version.""" print(db_migration.MIGRATE_REPO_PATH) print( migration.db_version(db_api.get_engine(), db_migration.MIGRATE_REPO_PATH, db_migration.INIT_VERSION))
def db_sync(version=None, init_version=INIT_VERSION, engine=None): """Migrate the database to `version` or the most recent version.""" if engine is None: engine = db_api.get_engine() return get_backend().db_sync(engine=engine, abs_path=MIGRATE_REPO_PATH, version=version, init_version=init_version)
def setUp(self): super(PurgeDeletedTest, self).setUp() self.context = context.get_admin_context() self.engine = db_api.get_engine() self.session = db_api.get_session() self.conn = self.engine.connect() self.plans = sqlalchemyutils.get_table( self.engine, "plans") # The resources table has a FK of plans.id self.resources = sqlalchemyutils.get_table( self.engine, "resources") self.uuidstrs = [] for unused in range(6): self.uuidstrs.append(uuid.uuid4().hex) # Add 6 rows to table for uuidstr in self.uuidstrs: ins_stmt = self.plans.insert().values(id=uuidstr) self.conn.execute(ins_stmt) ins_stmt = self.resources.insert().values(plan_id=uuidstr) self.conn.execute(ins_stmt) # Set 4 of them deleted, 2 are 60 days ago, 2 are 20 days ago old = timeutils.utcnow() - datetime.timedelta(days=20) older = timeutils.utcnow() - datetime.timedelta(days=60) make_plans_old = self.plans.update().where( self.plans.c.id.in_(self.uuidstrs[1:3])).values( deleted_at=old) make_plans_older = self.plans.update().where( self.plans.c.id.in_(self.uuidstrs[4:6])).values( deleted_at=older) make_resources_old = self.resources.update().where( self.resources.c.plan_id.in_(self.uuidstrs[1:3])).values( deleted_at=old) make_resources_older = self.resources.update().where( self.resources.c.plan_id.in_(self.uuidstrs[4:6])).values( deleted_at=older) self.conn.execute(make_plans_old) self.conn.execute(make_plans_older) self.conn.execute(make_resources_old) self.conn.execute(make_resources_older)
def setUp(self): super(PurgeDeletedTest, self).setUp() self.context = context.get_admin_context() self.engine = db_api.get_engine() self.session = db_api.get_session() self.conn = self.engine.connect() self.plans = sqlalchemyutils.get_table(self.engine, "plans") # The resources table has a FK of plans.id self.resources = sqlalchemyutils.get_table(self.engine, "resources") self.uuidstrs = [] for unused in range(6): self.uuidstrs.append(uuidutils.generate_uuid(dashed=False)) # Add 6 rows to table for uuidstr in self.uuidstrs: ins_stmt = self.plans.insert().values(id=uuidstr) self.conn.execute(ins_stmt) ins_stmt = self.resources.insert().values(plan_id=uuidstr) self.conn.execute(ins_stmt) # Set 4 of them deleted, 2 are 60 days ago, 2 are 20 days ago old = timeutils.utcnow() - datetime.timedelta(days=20) older = timeutils.utcnow() - datetime.timedelta(days=60) make_plans_old = self.plans.update().where( self.plans.c.id.in_(self.uuidstrs[1:3])).values(deleted_at=old) make_plans_older = self.plans.update().where( self.plans.c.id.in_(self.uuidstrs[4:6])).values(deleted_at=older) make_resources_old = self.resources.update().where( self.resources.c.plan_id.in_( self.uuidstrs[1:3])).values(deleted_at=old) make_resources_older = self.resources.update().where( self.resources.c.plan_id.in_( self.uuidstrs[4:6])).values(deleted_at=older) self.conn.execute(make_plans_old) self.conn.execute(make_plans_older) self.conn.execute(make_resources_old) self.conn.execute(make_resources_older)
def version(self): """Print the current database version.""" print(db_migration.MIGRATE_REPO_PATH) print(migration.db_version(db_api.get_engine(), db_migration.MIGRATE_REPO_PATH, db_migration.INIT_VERSION))