aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/gmg_commands
diff options
context:
space:
mode:
Diffstat (limited to 'mediagoblin/gmg_commands')
-rw-r--r--mediagoblin/gmg_commands/__init__.py9
-rw-r--r--mediagoblin/gmg_commands/dbupdate.py10
-rw-r--r--mediagoblin/gmg_commands/import_export.py5
-rw-r--r--mediagoblin/gmg_commands/migrate.py75
-rw-r--r--mediagoblin/gmg_commands/mongosql.py28
-rw-r--r--mediagoblin/gmg_commands/users.py2
6 files changed, 8 insertions, 121 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..32700c40 100644
--- a/mediagoblin/gmg_commands/dbupdate.py
+++ b/mediagoblin/gmg_commands/dbupdate.py
@@ -18,8 +18,8 @@ import logging
from sqlalchemy.orm import sessionmaker
-from mediagoblin.db.sql.open import setup_connection_and_db_from_config
-from mediagoblin.db.sql.util import MigrationManager
+from mediagoblin.db.open import setup_connection_and_db_from_config
+from mediagoblin.db.migration_tools import MigrationManager
from mediagoblin.init import setup_global_and_app_config
from mediagoblin.tools.common import import_component
@@ -52,8 +52,8 @@ def gather_database_data(media_types, plugins):
managed_dbdata = []
# Add main first
- from mediagoblin.db.sql.models import MODELS as MAIN_MODELS
- from mediagoblin.db.sql.migrations import MIGRATIONS as MAIN_MIGRATIONS
+ from mediagoblin.db.models import MODELS as MAIN_MODELS
+ from mediagoblin.db.migrations import MIGRATIONS as MAIN_MIGRATIONS
managed_dbdata.append(
DatabaseData(
@@ -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, migrations=True)
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)
diff --git a/mediagoblin/gmg_commands/users.py b/mediagoblin/gmg_commands/users.py
index 70e591c9..024c8498 100644
--- a/mediagoblin/gmg_commands/users.py
+++ b/mediagoblin/gmg_commands/users.py
@@ -55,7 +55,7 @@ def adduser(args):
entry.pw_hash = auth_lib.bcrypt_gen_password_hash(args.password)
entry.status = u'active'
entry.email_verified = True
- entry.save(validate=True)
+ entry.save()
print "User created (and email marked as verified)"