Metadata-Version: 2.1
Name: pgsqlx-generator
Version: 1.7.4
Summary: pgsqlx-generator is a model code generator from tables for PgSqlx.
Home-page: https://gitee.com/summry/pgsqlx/blob/master/generator.md
Author: summy
Author-email: xiazhongbiao@126.com
License: UNKNOWN
Keywords: PostgreSQL,PgSqlx,python
Platform: UNKNOWN
Requires-Python: >=3.5
Description-Content-Type: text/markdown

Install
'''''''

.. code:: shell

   pip install pgsqlx-generator

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

.. code:: python

       from pgsqlx.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 pgsqlx.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 Person(BaseModel):
           __table__ = 'person'
           __key_seq__ = 'person_id_seq'

           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


PgSqlx: https://pypi.org/project/pgsqlx


