def reset_database(): """ Remove all tables in DB. """ LOGGER.warning("Your Database tables will be deleted.") try: session = SA_SESSIONMAKER() LOGGER.debug("Delete connection initiated.") inspector = reflection.Inspector.from_engine(session.connection()) for table in inspector.get_table_names(): try: LOGGER.debug("Removing:" + table) session.execute(text("DROP TABLE \"%s\" CASCADE" % table)) except Exception: try: session.execute(text("DROP TABLE %s" % table)) except Exception as excep1: LOGGER.error("Could no drop table %s", table) LOGGER.exception(excep1) migratesqlapi.drop_version_control( TvbProfile.current.db.DB_URL, TvbProfile.current.db.DB_VERSIONING_REPO) session.commit() LOGGER.info("Database was cleanup!") except Exception as excep: LOGGER.warning(excep) finally: session.close()
def nuke(self): model.drop_tables(self.engine) # so in this case it's like we haven't initialized the db at all try: migrate.drop_version_control(self.url, self.repository) except migrate.exceptions.DatabaseNotControlledError: logger.log_exc("Failed to drop version control")
def nuke (self): model.drop_tables(self.engine) # so in this case it's like we haven't initialized the db at all try: migrate.drop_version_control (self.url, self.repository) except migrate.exceptions.DatabaseNotControlledError: logger.log_exc("Failed to drop version control")
def ResetDB(): print "Dropping DB Tables" db.drop_all() print "Dropping DB Version Control" api.drop_version_control(SQLALCHEMY_DATABASE_URI,SQLALCHEMY_MIGRATE_REPO) CreateDB() InitDB()
def drop_all_tables(): print("Droping all existing tables...") sql_schema.metadata.drop_all(_engine) if is_db_under_version_control(): drop_version_control(_db.get_url_connection_string(), UPGRADE_REPOSITORY)
def _teardown(self): self.schema = api.drop_version_control(self.url, self.repo) super(TestSchemaAPI, self)._teardown()
def setup_app(command, conf, vars): """Called by ``paster setup-app``. This script is responsible for: * Creating the initial database schema and loading default data. * Executing any migrations necessary to bring an existing database up-to-date. Your data should be safe but, as always, be sure to make backups before using this. * Re-creating the default database for every run of the test suite. XXX: All your data will be lost IF you run the test suite with a config file named 'test.ini'. Make sure you have this configured to a different database than in your usual deployment.ini or development.ini file because all database tables are dropped a and recreated every time this script runs. XXX: If you are upgrading from MediaCore v0.7.2 or v0.8.0, run whichever one of these that applies: ``python batch-scripts/upgrade/upgrade_from_v072.py deployment.ini`` ``python batch-scripts/upgrade/upgrade_from_v080.py deployment.ini`` XXX: For search to work, we depend on a number of MySQL triggers which copy the data from our InnoDB tables to a MyISAM table for its fulltext indexing capability. Triggers can only be installed with a mysql superuser like root, so you must run the setup_triggers.sql script yourself. """ if pylons.test.pylonsapp: # NOTE: This extra filename check may be unnecessary, the example it is # from did not check for pylons.test.pylonsapp. Leaving it in for now # to make it harder for someone to accidentally delete their database. filename = os.path.split(conf.filename)[-1] if filename == 'test.ini': log.info('Dropping existing tables...') metadata.drop_all(checkfirst=True) drop_version_control(conf.local_conf['sqlalchemy.url'], migrate_repository) else: # Don't reload the app if it was loaded under the testing environment config = load_environment(conf.global_conf, conf.local_conf) # Create the migrate_version table if it doesn't exist. # If the table doesn't exist, we assume the schema was just setup # by this script and therefore must be the latest version. latest_version = version(migrate_repository) try: version_control(conf.local_conf['sqlalchemy.url'], migrate_repository, version=latest_version) except DatabaseAlreadyControlledError: log.info('Running any new migrations, if there are any') upgrade(conf.local_conf['sqlalchemy.url'], migrate_repository, version=latest_version) else: log.info('Initializing new database with version %r' % latest_version) metadata.create_all(bind=DBSession.bind, checkfirst=True) add_default_data() cleanup_players_table(enabled=True) # Save everything, along with the dummy data if applicable DBSession.commit() log.info('Generating appearance.css from your current settings') settings = DBSession.query(Setting.key, Setting.value) generate_appearance_css(settings, cache_dir=conf['cache_dir']) log.info('Successfully setup')
from migrate.versioning import api from config import SQLALCHEMY_DATABASE_URI, SQLALCHEMY_MIGRATE_REPO api.drop_version_control(SQLALCHEMY_DATABASE_URI, SQLALCHEMY_MIGRATE_REPO)