def setup(self): # inherited setup does reset_db() super(DguFunctionalTestBase, self).setup() # init DGU-specific models commitment.init_tables(model.meta.engine) archiver.init_tables(model.meta.engine)
def command(self): """ """ self._load_config() log = logging.getLogger(__name__) import ckan.model as model model.Session.remove() model.Session.configure(bind=model.meta.engine) #model.repo.new_revision() log.info("Database access initialised") import ckanext.dgu.model.commitment as c_model c_model.init_tables(model.meta.engine) log.debug("Commitment table is setup")
def command(self): """ """ self._load_config() log = logging.getLogger(__name__) import ckan.model as model model.Session.remove() model.Session.configure(bind=model.meta.engine) #model.repo.new_revision() log.info("Database access initialised") from ckan.logic import get_action, NotFound migrate_qa = False if len(self.args) == 2 and self.args[0] == 'migrate_qa': migrate_qa = True migrate_what = self.args[1] import ckanext.dgu.model.commitment as c_model c_model.init_tables(model.meta.engine) log.info("Commitment table is setup") import ckanext.dgu.model.archive_tasks as a_model a_model.init_tables(model.meta.engine) log.info("Archive tasks table is setup") import ckanext.dgu.model.qa_tasks as q_model q_model.init_tables(model.meta.engine) log.info("QA tasks table is setup") site_user = get_action('get_site_user')({'model': model,'ignore_auth': True}, {}) if migrate_qa: # Migrate a single resource, this shouldn't be needed except # for dev log.debug("Migrating QA: %s" % migrate_what) ts = model.Session.query(model.TaskStatus)\ .filter(model.TaskStatus.task_type=='qa')\ .filter(model.TaskStatus.key=='status')\ .filter(model.TaskStatus.entity_id==migrate_what).first() if ts: existing = model.Session.query(q_model.QATask)\ .filter(q_model.QATask.resource_id==migrate_what).first() if existing: log.debug("Deleting existing QA Task") model.Session.delete(existing) model.Session.commit() qt = q_model.QATask.create(ts) log.info("Setting resource (%s) is_broken to %s" % (qt.resource_id, qt.is_broken)) try: res = get_action('resource_show')({'ignore_auth':True, 'user': site_user['name']}, {'id': qt.resource_id}) res['is_broken'] = qt.is_broken get_action('resource_update')({'ignore_auth':True, 'user': site_user['name']}, res) except NotFound: # No such resource log.debug("Resource %s not found, may be deleted" % qt.resource_id) except Exception, e: log.error("Unable to update resource: %s" % qt.resource_id) log.exception(e) model.Session.add(qt) model.Session.commit()