Create "gmg convert_mongo_to_sql" command

Finally, to make testing of sql a bit easier, create a
bin/gmg command to do the conversion from mongo to sql.
It's currently named "convert_mongo_to_sql".

The most important option is the gmg -cf option to give a
configfile with the appropiate sql_engine definition.
This commit is contained in:
Elrond 2012-02-17 00:09:30 +01:00
parent 1582181701
commit 9891351256
3 changed files with 32 additions and 3 deletions

View File

@ -145,8 +145,8 @@ def convert_media_comments(mk_db):
session.close()
def main():
global_config, app_config = setup_global_and_app_config("mediagoblin.ini")
def run_conversion(config_name):
global_config, app_config = setup_global_and_app_config(config_name)
sql_conn, sql_db = sql_connect(app_config)
mk_conn, mk_db = mongo_connect(app_config)
@ -164,4 +164,4 @@ def main():
if __name__ == '__main__':
main()
run_conversion("mediagoblin.ini")

View File

@ -57,6 +57,10 @@ 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'},
}

View File

@ -0,0 +1,25 @@
# 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/>.
from mediagoblin.db.sql.convert import run_conversion
def mongosql_parser_setup(subparser):
pass
def mongosql(args):
run_conversion(args.conf_file)