Skip to main content

mysqlx-generator is a model code generator from db tables for MySqlx.

Project description

Install

pip install mysqlx-generator

Usage Sample

from mysqlx_generator import Generator


if __name__ == '__main__':
    coder = Generator(host='127.0.0.1', port='3306', user='xxx', password='xxx', database='test')
    # you can generate a model class for one table
    coder.generate_with_tables(tables='user', path='models.py')
    # you can generate model classes for tables
    coder.generate_with_tables(tables=['user', 'person'], path='models.py')
    # you can generate model classes for all tables from a given schema. default current schema if not given
    coder.generate_with_schema(schema='test', path='models.py')

If you run last code, then generate a file ‘models.py’ in current directory like follow:

from decimal import Decimal
from datetime import date, datetime
from mysqlx.orm import Model, PkStrategy


class BaseModel(Model):
    __pk__ = 'id'
    __del_flag__ = 'del_flag'
    __update_by__ = 'update_by'
    __update_time__ = 'update_time'
    __pk_strategy__ = PkStrategy.DB_AUTO_INCREMENT

    def __init__(self, id: int = None, create_by: int = None, create_time: datetime = None, update_by: int = None, update_time: datetime = None,
            del_flag: int = None):
        self.id = id
        self.create_by = create_by
        self.create_time = create_time
        self.update_by = update_by
        self.update_time = update_time
        self.del_flag = del_flag


class User(BaseModel):
    __table__ = 'user'

    def __init__(self, id: int = None, name: str = None, age: int = None, birth_date: date = None, sex: int = None, grade: float = None,
            point: float = None, money: Decimal = None, create_by: int = None, create_time: datetime = None, update_by: int = None,
            update_time: datetime = None, del_flag: int = None):
        super().__init__(id=id, create_by=create_by, create_time=create_time, update_by=update_by, update_time=update_time, del_flag=del_flag)
        self.name = name
        self.age = age
        self.birth_date = birth_date
        self.sex = sex
        self.grade = grade
        self.point = point
        self.money = money

MySqlx: https://pypi.org/project/mysqlx

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mysqlx-generator-1.5.1.tar.gz (8.4 kB view details)

Uploaded Source

File details

Details for the file mysqlx-generator-1.5.1.tar.gz.

File metadata

  • Download URL: mysqlx-generator-1.5.1.tar.gz
  • Upload date:
  • Size: 8.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Python-urllib/3.6

File hashes

Hashes for mysqlx-generator-1.5.1.tar.gz
Algorithm Hash digest
SHA256 71ba35a8d4b25e41245f872a0aa2fec257e1a03343d075427c65ff55e4130e71
MD5 8b2371e1c55a47c7275a31696c691651
BLAKE2b-256 7744c216c4dfd22ac7eca23562cdfa723184df8afdcbca78109def48da5b1d82

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page