aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/init
diff options
context:
space:
mode:
authorEmily O'Leary <Emma.C.Echo@gmail.com>2013-06-25 20:57:50 -0400
committerEmily O'Leary <Emma.C.Echo@gmail.com>2013-06-25 20:57:50 -0400
commit4a698535bc97b37c8eb42ffea2cc3e7bd48565e6 (patch)
tree5ee573acc9f8c91cb53e44a1ee55529f3c74e5e1 /mediagoblin/init
parentc1b342ba95e99407ccedfdfad306ddb36fde6eb0 (diff)
downloadmediagoblin-4a698535bc97b37c8eb42ffea2cc3e7bd48565e6.tar.lz
mediagoblin-4a698535bc97b37c8eb42ffea2cc3e7bd48565e6.tar.xz
mediagoblin-4a698535bc97b37c8eb42ffea2cc3e7bd48565e6.zip
Improved test runtime from 352 seconds to 59 seconds by implementing an in-memory sqlite DB and including an option to run migrations on this newly created database by adding a config option called run_migrations to the config_spec and passing it along in app.py to the setup_database function.
Diffstat (limited to 'mediagoblin/init')
-rw-r--r--mediagoblin/init/__init__.py14
1 files changed, 9 insertions, 5 deletions
diff --git a/mediagoblin/init/__init__.py b/mediagoblin/init/__init__.py
index 444c624f..e0711416 100644
--- a/mediagoblin/init/__init__.py
+++ b/mediagoblin/init/__init__.py
@@ -58,16 +58,20 @@ def setup_global_and_app_config(config_path):
return global_config, app_config
-def setup_database():
+def setup_database(run_migrations=False):
app_config = mg_globals.app_config
+ global_config = mg_globals.global_config
# Load all models for media types (plugins, ...)
load_models(app_config)
-
# Set up the database
- db = setup_connection_and_db_from_config(app_config)
-
- check_db_migrations_current(db)
+ db = setup_connection_and_db_from_config(app_config, run_migrations)
+ if run_migrations:
+ #Run the migrations to initialize/update the database.
+ from mediagoblin.gmg_commands.dbupdate import run_all_migrations
+ run_all_migrations(db, app_config, global_config)
+ else:
+ check_db_migrations_current(db)
setup_globals(database=db)