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"
}