mysqlx-generator


Namemysqlx-generator JSON
Version 1.7.3 PyPI version JSON
download
home_pagehttps://gitee.com/summry/mysqlx/blob/master/generator.md
Summarymysqlx-generator is a model code generator from tables for MySqlx.
upload_time2024-03-29 02:27:38
maintainerNone
docs_urlNone
authorsummry
requires_python>=3.5
licenseNone
keywords mysql mysqlx python
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            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



            

Raw data

            {
    "_id": null,
    "home_page": "https://gitee.com/summry/mysqlx/blob/master/generator.md",
    "name": "mysqlx-generator",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.5",
    "maintainer_email": null,
    "keywords": "MySQL, mysqlx, python",
    "author": "summry",
    "author_email": "xiazhongbiao@126.com",
    "download_url": "https://files.pythonhosted.org/packages/1d/c9/5004e2f4cfd7fbe7c8e8875ce78a4d2d2ddf20688314260466924af2d302/mysqlx-generator-1.7.3.tar.gz",
    "platform": null,
    "description": "Install\r\n'''''''\r\n\r\n.. code:: shell\r\n\r\n   pip install mysqlx-generator\r\n\r\nUsage Sample\r\n''''''''''''\r\n\r\n.. code:: python\r\n\r\n       from mysqlx.generator import Generator\r\n\r\n       if __name__ == '__main__':\r\n           coder = Generator(host='127.0.0.1', port='3306', user='xxx', password='xxx', database='test')\r\n           # you can generate a model class for one table\r\n           coder.generate_with_tables(tables='user', path='models.py')\r\n           # you can generate model classes for tables\r\n           coder.generate_with_tables(tables=['user', 'person'], path='models.py')\r\n           # you can generate model classes for all tables from a given schema. default current schema if not given\r\n           coder.generate_with_schema(schema='test', path='models.py')\r\n\r\nIf you run last code, then generate a file 'models.py' in current\r\ndirectory like follow:\r\n\r\n.. code:: python\r\n\r\n       from decimal import Decimal\r\n       from datetime import date, datetime\r\n       from mysqlx.orm import Model, KeyStrategy\r\n\r\n       class BaseModel(Model):\r\n           __key__ = 'id'\r\n           __del_flag__ = 'del_flag'\r\n           __update_by__ = 'update_by'\r\n           __update_time__ = 'update_time'\r\n           __key_strategy__ = KeyStrategy.DB_AUTO_INCREMENT\r\n\r\n           def __init__(self, id: int = None, create_by: int = None, create_time: datetime = None, update_by: int = None, update_time: datetime = None,\r\n                   del_flag: int = None):\r\n               self.id = id\r\n               self.create_by = create_by\r\n               self.create_time = create_time\r\n               self.update_by = update_by\r\n               self.update_time = update_time\r\n               self.del_flag = del_flag\r\n\r\n\r\n       class User(BaseModel):\r\n           __table__ = 'user'\r\n\r\n           def __init__(self, id: int = None, name: str = None, age: int = None, birth_date: date = None, sex: int = None, grade: float = None,\r\n                   point: float = None, money: Decimal = None, create_by: int = None, create_time: datetime = None, update_by: int = None,\r\n                   update_time: datetime = None, del_flag: int = None):\r\n               super().__init__(id=id, create_by=create_by, create_time=create_time, update_by=update_by, update_time=update_time, del_flag=del_flag)\r\n               self.name = name\r\n               self.age = age\r\n               self.birth_date = birth_date\r\n               self.sex = sex\r\n               self.grade = grade\r\n               self.point = point\r\n               self.money = money\r\n\r\n\r\nMySqlx: https://pypi.org/project/mysqlx\r\n\r\n\r\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "mysqlx-generator is a model code generator from tables for MySqlx.",
    "version": "1.7.3",
    "project_urls": {
        "Homepage": "https://gitee.com/summry/mysqlx/blob/master/generator.md"
    },
    "split_keywords": [
        "mysql",
        " mysqlx",
        " python"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1dc95004e2f4cfd7fbe7c8e8875ce78a4d2d2ddf20688314260466924af2d302",
                "md5": "281dda90ad003af9ba605c6938cbf300",
                "sha256": "dfad4eeb94c59d549e1ba889e51d50b230a2a3b083999acf3913aca5c39ebae9"
            },
            "downloads": -1,
            "filename": "mysqlx-generator-1.7.3.tar.gz",
            "has_sig": false,
            "md5_digest": "281dda90ad003af9ba605c6938cbf300",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.5",
            "size": 5128,
            "upload_time": "2024-03-29T02:27:38",
            "upload_time_iso_8601": "2024-03-29T02:27:38.382679Z",
            "url": "https://files.pythonhosted.org/packages/1d/c9/5004e2f4cfd7fbe7c8e8875ce78a4d2d2ddf20688314260466924af2d302/mysqlx-generator-1.7.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-29 02:27:38",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "mysqlx-generator"
}
        
Elapsed time: 3.11187s