new_contents: import argparse
  import json
  import sqlite3
  
  
  def main(dbname):
      con = sqlite3.connect(dbname)
      cur = con.cursor()
      cur.execute("SELECT id, regex FROM application_services_regex")
      for row in cur.fetchall():
          try:
              print "checking %s..." % row[0]
              json.loads(row[1])
              print "Already in new format"
          except ValueError:
              # row isn't in json, make it so.
              string_regex = row[1]
              new_regex = json.dumps({
                  "regex": string_regex,
                  "exclusive": True
              })
              cur.execute(
                  "UPDATE application_services_regex SET regex=? WHERE id=?",
                  (new_regex, row[0])
              )
      cur.close()
      con.commit()
  
  
  if __name__ == "__main__":
      parser = argparse.ArgumentParser()
  
      parser.add_argument("database")
      args = parser.parse_args()
  
      main(args.database)
  
subject: Add upgrade script