diff options
author | Sebastian Spaeth <Sebastian@SSpaeth.de> | 2012-11-29 17:23:28 +0100 |
---|---|---|
committer | Sebastian Spaeth <Sebastian@SSpaeth.de> | 2012-12-25 20:06:03 +0100 |
commit | bc142abc5592975c08319416d0af12c108504887 (patch) | |
tree | 45d2d0339768ca78b3bef37bb9c887e932470091 /mediagoblin/gmg_commands | |
parent | 351fd95fff98d389711a1aa9cc3ba5d661a9b433 (diff) | |
download | mediagoblin-bc142abc5592975c08319416d0af12c108504887.tar.lz mediagoblin-bc142abc5592975c08319416d0af12c108504887.tar.xz mediagoblin-bc142abc5592975c08319416d0af12c108504887.zip |
RIP out mongo
Since sqlalchemy is providing our database abstraction and we have
moved away from Mongo as the underlying database, it is now time to
simplify things and rip out mongo. This provides the bulk of the
changes, and can stand on its own. There are some followup tasks
that can be done, such as removing now unneeded abstraction layers,
e.g. db.sql.fake.py
Diffstat (limited to 'mediagoblin/gmg_commands')
-rw-r--r-- | mediagoblin/gmg_commands/__init__.py | 9 | ||||
-rw-r--r-- | mediagoblin/gmg_commands/dbupdate.py | 2 | ||||
-rw-r--r-- | mediagoblin/gmg_commands/import_export.py | 5 | ||||
-rw-r--r-- | mediagoblin/gmg_commands/migrate.py | 75 | ||||
-rw-r--r-- | mediagoblin/gmg_commands/mongosql.py | 28 |
5 files changed, 3 insertions, 116 deletions
diff --git a/mediagoblin/gmg_commands/__init__.py b/mediagoblin/gmg_commands/__init__.py index 19793ec3..6aed4f6c 100644 --- a/mediagoblin/gmg_commands/__init__.py +++ b/mediagoblin/gmg_commands/__init__.py @@ -25,11 +25,6 @@ SUBCOMMAND_MAP = { 'setup': 'mediagoblin.gmg_commands.shell:shell_parser_setup', 'func': 'mediagoblin.gmg_commands.shell:shell', 'help': 'Run a shell with some tools pre-setup'}, - 'migrate': { - 'setup': 'mediagoblin.gmg_commands.migrate:migrate_parser_setup', - 'func': 'mediagoblin.gmg_commands.migrate:migrate', - 'help': ('Migrate your Mongo database. ' - '[DEPRECATED!] use convert_mongo_to_sql and dbupdate.')}, 'adduser': { 'setup': 'mediagoblin.gmg_commands.users:adduser_parser_setup', 'func': 'mediagoblin.gmg_commands.users:adduser', @@ -46,10 +41,6 @@ SUBCOMMAND_MAP = { 'setup': 'mediagoblin.gmg_commands.dbupdate:dbupdate_parse_setup', 'func': 'mediagoblin.gmg_commands.dbupdate:dbupdate', 'help': 'Set up or update the SQL database'}, - 'convert_mongo_to_sql': { - 'setup': 'mediagoblin.gmg_commands.mongosql:mongosql_parser_setup', - 'func': 'mediagoblin.gmg_commands.mongosql:mongosql', - 'help': 'Convert Mongo DB data to SQL DB data'}, 'theme': { 'setup': 'mediagoblin.gmg_commands.theme:theme_parser_setup', 'func': 'mediagoblin.gmg_commands.theme:theme', diff --git a/mediagoblin/gmg_commands/dbupdate.py b/mediagoblin/gmg_commands/dbupdate.py index 67fdd69c..4b301178 100644 --- a/mediagoblin/gmg_commands/dbupdate.py +++ b/mediagoblin/gmg_commands/dbupdate.py @@ -114,7 +114,7 @@ def run_dbupdate(app_config, global_config): global_config.get('plugins', {}).keys()) # Set up the database - connection, db = setup_connection_and_db_from_config(app_config) + db = setup_connection_and_db_from_config(app_config) Session = sessionmaker(bind=db.engine) diff --git a/mediagoblin/gmg_commands/import_export.py b/mediagoblin/gmg_commands/import_export.py index 72ebd8a8..d51a1e3e 100644 --- a/mediagoblin/gmg_commands/import_export.py +++ b/mediagoblin/gmg_commands/import_export.py @@ -105,7 +105,7 @@ def env_import(args): setup_storage() global_config, app_config = setup_global_and_app_config(args.conf_file) - connection, db = setup_connection_and_db_from_config( + db = setup_connection_and_db_from_config( app_config) tf = tarfile.open( @@ -243,8 +243,7 @@ def env_export(args): setup_storage() - connection, db = setup_connection_and_db_from_config( - app_config) + db = setup_connection_and_db_from_config(app_config) _export_database(db, args) diff --git a/mediagoblin/gmg_commands/migrate.py b/mediagoblin/gmg_commands/migrate.py deleted file mode 100644 index b915a528..00000000 --- a/mediagoblin/gmg_commands/migrate.py +++ /dev/null @@ -1,75 +0,0 @@ -# GNU MediaGoblin -- federated, autonomous media hosting -# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS. -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. - -import sys - -from mediagoblin.init import setup_global_and_app_config - - -def migrate_parser_setup(subparser): - pass - - -def _print_started_migration(migration_number, migration_func): - sys.stdout.write( - "Running migration %s, '%s'... " % ( - migration_number, migration_func.func_name)) - sys.stdout.flush() - - -def _print_finished_migration(migration_number, migration_func): - sys.stdout.write("done.\n") - sys.stdout.flush() - - -def migrate(args): - run_migrate(args.conf_file) - - -def run_migrate(conf_file): - # This MUST be imported so as to set up the appropriate migrations! - from mediagoblin.db.mongo import migrations - - from mediagoblin.db.mongo import util as db_util - from mediagoblin.db.mongo.open import setup_connection_and_db_from_config - - global_config, app_config = setup_global_and_app_config(conf_file) - - connection, db = setup_connection_and_db_from_config( - app_config, use_pymongo=True) - migration_manager = db_util.MigrationManager(db) - - # Clear old indexes - print "== Clearing old indexes... ==" - removed_indexes = db_util.remove_deprecated_indexes(db) - - for collection, index_name in removed_indexes: - print "Removed index '%s' in collection '%s'" % ( - index_name, collection) - - # Migrate - print "\n== Applying migrations... ==" - migration_manager.migrate_new( - pre_callback=_print_started_migration, - post_callback=_print_finished_migration) - - # Add new indexes - print "\n== Adding new indexes... ==" - new_indexes = db_util.add_new_indexes(db) - - for collection, index_name in new_indexes: - print "Added index '%s' to collection '%s'" % ( - index_name, collection) diff --git a/mediagoblin/gmg_commands/mongosql.py b/mediagoblin/gmg_commands/mongosql.py deleted file mode 100644 index dd53f575..00000000 --- a/mediagoblin/gmg_commands/mongosql.py +++ /dev/null @@ -1,28 +0,0 @@ -# GNU MediaGoblin -- federated, autonomous media hosting -# Copyright (C) 2012 MediaGoblin contributors. See AUTHORS. -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. - - -def mongosql_parser_setup(subparser): - pass - - -def mongosql(args): - # First, make sure our mongo migrations are up to date... - from mediagoblin.gmg_commands.migrate import run_migrate - run_migrate(args.conf_file) - - from mediagoblin.db.sql.convert import run_conversion - run_conversion(args.conf_file) |