Skip to main content

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

Project description

Install '''''''

.. code:: shell

pip install mysqlx-generator

Usage Sample ''''''''''''

.. code:: python

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:

.. code:: python

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

class BaseModel(Model): key = 'id' del_flag = 'del_flag' update_by = 'update_by' update_time = 'update_time' key_strategy = KeyStrategy.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.7.2.tar.gz (5.1 kB view hashes)

Uploaded Source

Supported by

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