diff options
author | Emily O'Leary <Emma.C.Echo@gmail.com> | 2013-06-25 20:57:50 -0400 |
---|---|---|
committer | Emily O'Leary <Emma.C.Echo@gmail.com> | 2013-06-25 20:57:50 -0400 |
commit | 4a698535bc97b37c8eb42ffea2cc3e7bd48565e6 (patch) | |
tree | 5ee573acc9f8c91cb53e44a1ee55529f3c74e5e1 /mediagoblin/init | |
parent | c1b342ba95e99407ccedfdfad306ddb36fde6eb0 (diff) | |
download | mediagoblin-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__.py | 14 |
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) |