From bc2301ce0def882ea4851f1542c9909a1ecbed9f Mon Sep 17 00:00:00 2001 From: "Brian S. Stephan" Date: Fri, 19 Jun 2015 23:30:10 -0500 Subject: [PATCH] script to port old mysql facts to django models --- scripts/port_facts_to_django.py | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 scripts/port_facts_to_django.py diff --git a/scripts/port_facts_to_django.py b/scripts/port_facts_to_django.py new file mode 100644 index 0000000..9b4c9f9 --- /dev/null +++ b/scripts/port_facts_to_django.py @@ -0,0 +1,33 @@ +from ConfigParser import ConfigParser, NoOptionError +import os +import sys + +from facts.models import FactCategory, Fact + +import MySQLdb as mdb + +config_file = 'dr.botzo.cfg' +config = ConfigParser() +config.read(os.path.expanduser(config_file)) + +dbhost = config.get('dr.botzo', 'dbhost') +dbuser = config.get('dr.botzo', 'dbuser') +dbpass = config.get('dr.botzo', 'dbpass') +dbname = config.get('dr.botzo', 'dbname') + +db = mdb.connect(dbhost, dbuser, dbpass, dbname, charset='utf8', use_unicode=True) +try: + cur = db.cursor() + query = ''' + SELECT * FROM facts_facts + ''' + cur.execute(query) + for row in cur.fetchall(): + category_name = row[1] + category, c = FactCategory.objects.get_or_create(name=category_name) + + fact_text = row[2] + fact = Fact.objects.create(category=category, fact=fact_text) +except NoOptionError as noe: + sys.exit("Aborted due to error in config: {0:s}".format(str(noe))) +