vendredi 24 juin 2016

How to connect to existing MySQL db from peewee


i am new all about peewee and i am trying to connect and query my DB using peewee library. currently i have an error in the following line inside class Meta: database = myDB i am nut sure i should i pass the parameter to this class. this is the full code: import argparse import traceback import peewee as pw from logHandler import logBuilder # creating error log for android catchapp log_creator = logBuilder() error_log = log_creator.setup_log('stripper_logger', 'stripper.log') def main(): try: args = argument_parser() myDB = pw.MySQLDatabase(args.db, host=args.host, user=args.user, passwd=args.password,charset="utf8mb4") myDB.connect() print str(Browsing.table_exists()) if not Browsing.table_exists(): myDB.create_table(Browsing) for rec in Browsing.select(): print rec.record_hash except Exception as e: print traceback.print_exc() print e error_log.error(traceback.format_exc()) error_log.error(e) def argument_parser(): parser = argparse.ArgumentParser(description='Insert Stripper data into newetl DB.') parser.add_argument('--host', type=str, default="localhost", help='DB host url.', metavar='', required=True) parser.add_argument('-u', '--user', type=str, default="root", help='DB user.', metavar='', required=True) parser.add_argument('-p', '--password', type=str, default="root", help='DB password.', metavar='', required=True) parser.add_argument('--db', type=str, default="newetl", help='DB name.', metavar='', required=True) #parser.add_argument('--path', nargs=1, type=str,help='full path to stripper file',metavar='', required=True) #parser.add_argument('--target', "-t", type=str, help='wint target id.', metavar='', required=True) return parser.parse_args() class MySQLModel(pw.Model): class Meta: database = myDB class Browsing(MySQLModel): class Meta: db_table = "browsing" record_hash = pw.CharField(primary_key=True) device_id = pw.CharField() target_id = pw.CharField() last_visited = pw.DateTimeField() title = pw.CharField() url = pw.CharField() visit_count = pw.IntegerField() is_bookmark = pw.SmallIntegerField() if __name__ == '__main__': main()

Aucun commentaire:

Enregistrer un commentaire