sqlx-orm


Namesqlx-orm JSON
Version 0.0.7 PyPI version JSON
download
home_pagehttps://gitee.com/summry/sqlx-orm
SummaryA single table ORM framework for python. Support MySQL, PostgreSQL, SQLite etc.
upload_time2024-04-25 08:16:22
maintainerNone
docs_urlNone
authorsummy
requires_python>=3.6
licenseNone
keywords sql mysql postgresql sqlite database python rdb
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            Usage Sample
''''''''''''

.. code:: python

    from orm import Model, db
    from typing import List, Tuple, Mapping

    class Person(Model):
        __pk__ = 'id'
        __table__ = 'person'

        def __init__(self, id: int = None, name: str = None, age: int = None):
            self.id = id
            self.name = name
            self.age = age


    if __name__ == '__main__':
        db.init('test.db', driver='sqlite3', show_sql=True, debug=True)
        db.init_db("postgres://user:password@127.0.0.1:5432/testdb", driver='psycopg2', pool_size=5)
        db.init_db(host='127.0.0.1', port='3306', user='xxx', password='xxx', database='test', pool_size=5, show_sql=True)

        effected_rowcount = Person.insert(name='tianqi', age=77)

        persons = Person.query(name='tianqi')
        # select id, name, age from person where name = :name
        # result:
        # {'id': 7, 'name': 'tianqi', 'age': 77}

        persons = Person.query(name__eq='zhangsan')
        # select id, name, age from person where name = :name
        # result:
        # [{'id': 3, 'name': 'zhangsan', 'age': 15}]

Transaction
'''''''''''

.. code:: python

    from orm import with_transaction, transaction

    @with_transaction
    def test_transaction():
        insert_func(....)
        update_func(....)


    def test_transaction2():
        with transaction():
            insert_func(....)
            update_func(....)


If you want to operate MySQL database, may be you need MySqlx: https://pypi.org/project/mysqlx

If you want to operate PostgreSQL database, may be you need MySqlx: https://pypi.org/project/pgsqlx

If you just wanted a simple sql executor, may be you need sqlx-exec: https://pypi.org/project/sqlx-exec



            

Raw data

            {
    "_id": null,
    "home_page": "https://gitee.com/summry/sqlx-orm",
    "name": "sqlx-orm",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": null,
    "keywords": "SQL, MySQL, PostgreSQL, SQLite, Database, Python, RDB",
    "author": "summy",
    "author_email": "xiazhongbiao@126.com",
    "download_url": "https://files.pythonhosted.org/packages/34/12/90f013d76ceaee9fbafcd543344b744f515a6e749065706f157f3769b47e/sqlx-orm-0.0.7.tar.gz",
    "platform": null,
    "description": "Usage Sample\n''''''''''''\n\n.. code:: python\n\n    from orm import Model, db\n    from typing import List, Tuple, Mapping\n\n    class Person(Model):\n        __pk__ = 'id'\n        __table__ = 'person'\n\n        def __init__(self, id: int = None, name: str = None, age: int = None):\n            self.id = id\n            self.name = name\n            self.age = age\n\n\n    if __name__ == '__main__':\n        db.init('test.db', driver='sqlite3', show_sql=True, debug=True)\n        db.init_db(\"postgres://user:password@127.0.0.1:5432/testdb\", driver='psycopg2', pool_size=5)\n        db.init_db(host='127.0.0.1', port='3306', user='xxx', password='xxx', database='test', pool_size=5, show_sql=True)\n\n        effected_rowcount = Person.insert(name='tianqi', age=77)\n\n        persons = Person.query(name='tianqi')\n        # select id, name, age from person where name = :name\n        # result:\n        # {'id': 7, 'name': 'tianqi', 'age': 77}\n\n        persons = Person.query(name__eq='zhangsan')\n        # select id, name, age from person where name = :name\n        # result:\n        # [{'id': 3, 'name': 'zhangsan', 'age': 15}]\n\nTransaction\n'''''''''''\n\n.. code:: python\n\n    from orm import with_transaction, transaction\n\n    @with_transaction\n    def test_transaction():\n        insert_func(....)\n        update_func(....)\n\n\n    def test_transaction2():\n        with transaction():\n            insert_func(....)\n            update_func(....)\n\n\nIf you want to operate MySQL database, may be you need MySqlx: https://pypi.org/project/mysqlx\n\nIf you want to operate PostgreSQL database, may be you need MySqlx: https://pypi.org/project/pgsqlx\n\nIf you just wanted a simple sql executor, may be you need sqlx-exec: https://pypi.org/project/sqlx-exec\n\n\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A single table ORM framework for python. Support MySQL, PostgreSQL, SQLite etc.",
    "version": "0.0.7",
    "project_urls": {
        "Homepage": "https://gitee.com/summry/sqlx-orm"
    },
    "split_keywords": [
        "sql",
        " mysql",
        " postgresql",
        " sqlite",
        " database",
        " python",
        " rdb"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "341290f013d76ceaee9fbafcd543344b744f515a6e749065706f157f3769b47e",
                "md5": "d23c610619bae888a8fd2e59d69dd3d8",
                "sha256": "eabcb284c3f70ff3b403e27e0ff5a8dc49f1c1ec5f7c9774942c8813bf8930b1"
            },
            "downloads": -1,
            "filename": "sqlx-orm-0.0.7.tar.gz",
            "has_sig": false,
            "md5_digest": "d23c610619bae888a8fd2e59d69dd3d8",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 11133,
            "upload_time": "2024-04-25T08:16:22",
            "upload_time_iso_8601": "2024-04-25T08:16:22.048166Z",
            "url": "https://files.pythonhosted.org/packages/34/12/90f013d76ceaee9fbafcd543344b744f515a6e749065706f157f3769b47e/sqlx-orm-0.0.7.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-25 08:16:22",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "sqlx-orm"
}
        
Elapsed time: 0.24475s