diff options
author | Christopher Allan Webber <cwebber@dustycloud.org> | 2011-07-17 18:58:32 -0500 |
---|---|---|
committer | Christopher Allan Webber <cwebber@dustycloud.org> | 2011-07-17 18:58:32 -0500 |
commit | e60f8719dd8ffbafe4a3e2313f32e7f867227577 (patch) | |
tree | c1416aadd88afc6184229c3f1c9a71c324d281c1 /mediagoblin/init/__init__.py | |
parent | e83dc091cc8d60f5dd7372b0d684f16fbfbc7fec (diff) | |
parent | 3f4b5e4a4e318360e02b070b4aee2d0b2c01c3d9 (diff) | |
download | mediagoblin-e60f8719dd8ffbafe4a3e2313f32e7f867227577.tar.lz mediagoblin-e60f8719dd8ffbafe4a3e2313f32e7f867227577.tar.xz mediagoblin-e60f8719dd8ffbafe4a3e2313f32e7f867227577.zip |
Merge remote branch 'remotes/elrond/dev/init'
Diffstat (limited to 'mediagoblin/init/__init__.py')
-rw-r--r-- | mediagoblin/init/__init__.py | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/mediagoblin/init/__init__.py b/mediagoblin/init/__init__.py index 6320d21b..1e519cc9 100644 --- a/mediagoblin/init/__init__.py +++ b/mediagoblin/init/__init__.py @@ -20,6 +20,8 @@ from mediagoblin.init.config import ( read_mediagoblin_config, generate_validation_report) from mediagoblin import mg_globals from mediagoblin.mg_globals import setup_globals +from mediagoblin.db.open import setup_connection_and_db_from_config +from mediagoblin.db.util import MigrationManager from mediagoblin.workbench import WorkbenchManager @@ -42,6 +44,33 @@ def setup_global_and_app_config(config_path): return global_config, app_config + +def setup_database(): + app_config = mg_globals.app_config + + # This MUST be imported so as to set up the appropriate migrations! + from mediagoblin.db import migrations + + # Set up the database + connection, db = setup_connection_and_db_from_config(app_config) + + # Init the migration number if necessary + migration_manager = MigrationManager(db) + migration_manager.install_migration_version_if_missing() + + # Tiny hack to warn user if our migration is out of date + if not migration_manager.database_at_latest_migration(): + print ( + "*WARNING:* Your migrations are out of date, " + "maybe run ./bin/gmg migrate?") + + setup_globals( + db_connection = connection, + database = db) + + return connection, db + + def get_jinja_loader(user_template_path=None): """ Set up the Jinja template loaders, possibly allowing for user |