{ "info": { "author": "Takeru Hayasaka", "author_email": "taketarou2@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Database" ], "description": "# peewee_seed\npeewee_seed is a seed library which provides initial data to database using peewee.\nWith reference to the [Django fixture](https://docs.djangoproject.com/en/2.1/howto/initial-data/)\n\n[![CircleCI](https://circleci.com/gh/takehaya/peewee_seeds.svg?style=svg)](https://circleci.com/gh/takehaya/peewee_seeds)\n[![PyPI version](https://badge.fury.io/py/peewee-seed.svg)](https://badge.fury.io/py/peewee-seed)\n## usage\n\n### simple seeds\n- file envs\n```\n/myapp\n __init__.py\n seeds_entry.py\n models.py\n /fixtures\n accounts.yaml\n```\n``` yaml\n# accounts.yaml\n- model : myapp.models.Account\n id: 1\n fields:\n first_name: John\n last_name: Smith\n age: 20\n```\n```python\n# models.py\nfrom peewee import CharField\nfrom peewee import IntegerField\nfrom peewee import Model\nfrom peewee import SqliteDatabase\n\ndatabase = SqliteDatabase(\":memory:\", pragmas={\"foregin_keys\": 1})\n\n\nclass BaseModel(Model):\n class Meta(object):\n database = database\n\n\nclass Account(BaseModel):\n first_name = CharField(null=False)\n last_name = CharField(null=False)\n age = IntegerField(null=True)\n```\n- seeds entry file\n``` python\n# seeds_entry.py\nfrom peewee_seeds import PeeweeSeed\nfrom myapp.models import database\n\n\ndef main():\n path = '/path/to/fixtures'\n\n # seeds instance\n seeds = PeeweeSeed(database, path, ['accounts.yaml'])\n\n # load fixture for create table\n seeds.create_table_all()\n\n # load fixture for db input\n seeds.db_data_input()\n\n\nif __name__ == '__main__':\n main()\n```\n- Run command\n```\npython seeds_entroy.py\n```\n\n\n\n### other example\n\n```python\nfrom peewee_seed import PeeweeSeed\nfrom myapp.models import database\n\n# seeds instance\nseeds = PeeweeSeed()\n\n# set path\nseeds.set_path('/path/to/fixtures')\n\n# set use fixture name\nseeds.set_fixture_files(['accounts.yaml', 'pictures.yaml'])\n\n# loading fixture file data\nfixtures_row_data = seeds.load_fixture_files()\n\n# fixture purification\nfields, models_namelist = seeds.load_fixture(fixtures_row_data[0])\n\n# fixtures purification\nfields, models_namelist = seeds.load_fixtures(fixtures_row_data)\n\n# set database session\nseeds.set_database(database)\n\n# base on fixtures, create tables\nseeds.create_table_all()\n\n# fixtures data to db input\nseeds.db_data_input(fixtures_row_data)\n\n# base on fixtures, drop tables \nseeds.drop_table_all()\n```\n\n### direct inputdata seed\n``` python\n# body is dict data\n# create & seed\nseed = PeeweeSeed(db)\n_, models = seed.load_fixtures([body])\nseed.create_table_all(models)\n\nseed.db_data_input([body])\n\n# body is modelpath(same to fixtures)\n# drop\nseed = PeeweeSeed(db)\n\nmodels = body[\"models\"]\nseed.drop_table_all(models)\n```\n\n#### error: Foreign key constraint\n\n```python\n\n# seed\nseed.db_data_input([body], foreign_key_checks=True)\n\n# db drop\nseed.drop_table_all(models, foreign_key_checks=True)\n\n\n```\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/takehaya/peewee_seed", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "peewee-seed", "package_url": "https://pypi.org/project/peewee-seed/", "platform": "any", "project_url": "https://pypi.org/project/peewee-seed/", "project_urls": { "Homepage": "https://github.com/takehaya/peewee_seed" }, "release_url": "https://pypi.org/project/peewee-seed/0.1.8/", "requires_dist": [ "peewee", "pyyaml", "flake8" ], "requires_python": "", "summary": "peewee_seed is simple data seeder using peewee.", "version": "0.1.8" }, "last_serial": 4684246, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "e846caf718f120060e1870009a10b0cd", "sha256": "a090c1c81b1cfff06ff21910c7149f73aedff0b70e79b5d1ec17c8e842db818f" }, "downloads": -1, "filename": "peewee_seed-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "e846caf718f120060e1870009a10b0cd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 2932, "upload_time": "2018-09-22T05:03:46", "url": "https://files.pythonhosted.org/packages/93/df/e53cefcffed88f889bdc4b4d0506c6115eb4de6b975e373b285994cb0f0f/peewee_seed-0.1.1-py3-none-any.whl" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "857b50d35ec51d5b041d2dc26e446510", "sha256": "f5581ab8c579b8ea0900cd04bafa1d7409dc40a7756fd8f21bde22e4f8de791c" }, "downloads": -1, "filename": "peewee_seed-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "857b50d35ec51d5b041d2dc26e446510", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3349, "upload_time": "2018-09-22T06:40:50", "url": "https://files.pythonhosted.org/packages/c8/e7/93fc709e0c149c2d519ea086a5d56061735a6f3eadf58f5f331e9afdca6c/peewee_seed-0.1.2-py3-none-any.whl" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "73e3dcac076037845f45c18be7a5be68", "sha256": "58d364d1f143689e40bca5b73a6c9c6c6dc68bab80f95273570de29e8bc4214d" }, "downloads": -1, "filename": "peewee_seed-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "73e3dcac076037845f45c18be7a5be68", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4895, "upload_time": "2018-09-24T18:45:55", "url": "https://files.pythonhosted.org/packages/ba/46/8b4c5d0bb051a45c14e0ea2fd9d465ce25489d4ef5a1c2c653b06c89247d/peewee_seed-0.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "08741099b0a196b873bf5ec0937f07a4", "sha256": "2b3a9ae2c95e2ecc1aa98a86ce0a9d2bcc9a7fd524787a14a38e6daaac61c00b" }, "downloads": -1, "filename": "peewee_seed-0.1.3.tar.gz", "has_sig": false, "md5_digest": "08741099b0a196b873bf5ec0937f07a4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4154, "upload_time": "2018-09-24T18:45:56", "url": "https://files.pythonhosted.org/packages/9f/bd/205c05b9feb2252cdbd9a50a1cf24256022b834215f6a55ab2e614dc2147/peewee_seed-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "c93f60a610b644d20127e1e44125d900", "sha256": "cadffb7a4001d807db0992d68284f987149bec4c7dd3439f5b6966f9da793fb3" }, "downloads": -1, "filename": "peewee_seed-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "c93f60a610b644d20127e1e44125d900", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4888, "upload_time": "2018-10-17T01:22:29", "url": "https://files.pythonhosted.org/packages/0c/a7/8f98bd7893da40d76d69046337b023ca5a5110f36822536e64e915e7a9f1/peewee_seed-0.1.4-py3-none-any.whl" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "e5f3d5e9fd4ec83db42bbb2f5af69b8a", "sha256": "6a19d68a67810f651163038e95c8ab45ee71d09c0fddf9ad43790aff5f181293" }, "downloads": -1, "filename": "peewee_seed-0.1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "e5f3d5e9fd4ec83db42bbb2f5af69b8a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4997, "upload_time": "2018-10-17T03:10:21", "url": "https://files.pythonhosted.org/packages/2c/44/eaa037a3004b0715951b6f93a93e0d4b4b705cb215b65f59b1b7100e58ee/peewee_seed-0.1.5-py3-none-any.whl" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "2093fb78faa889a0e61bd3ce9eafbb52", "sha256": "716c99df1e450a5b2019083fafb5ff1c812b7b61f1b35a5e45743ae8665a53d2" }, "downloads": -1, "filename": "peewee_seed-0.1.6-py3-none-any.whl", "has_sig": false, "md5_digest": "2093fb78faa889a0e61bd3ce9eafbb52", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5073, "upload_time": "2018-11-14T15:23:20", "url": "https://files.pythonhosted.org/packages/ac/4e/23f5ad69ae0d59a099d8cae14cfa7044ee5a31bef7f079c08023d2ec1417/peewee_seed-0.1.6-py3-none-any.whl" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "b1b3ea2326a92fc7176f811ad99a3587", "sha256": "0471306d09065bf7295562904b726f480a65f71a5eafc2a8af72d59d2c0f64fa" }, "downloads": -1, "filename": "peewee_seed-0.1.7-py3-none-any.whl", "has_sig": false, "md5_digest": "b1b3ea2326a92fc7176f811ad99a3587", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5080, "upload_time": "2018-11-14T15:34:58", "url": "https://files.pythonhosted.org/packages/d7/f0/6c067a6822c185af19f859d930a34e1099e249106e089a859bbd86a072b2/peewee_seed-0.1.7-py3-none-any.whl" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "34b48f7d83fd6168ed8007b134799eee", "sha256": "0ab577209eb73873449f4d61a145edd8592b16720967c3e3bd43fabcb8cb78bc" }, "downloads": -1, "filename": "peewee_seed-0.1.8-py3-none-any.whl", "has_sig": false, "md5_digest": "34b48f7d83fd6168ed8007b134799eee", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5070, "upload_time": "2019-01-11T08:16:16", "url": "https://files.pythonhosted.org/packages/b7/42/6b1dfc6cc43c27af52640956053156e57d0c6d70349674f70c72994e7e3f/peewee_seed-0.1.8-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "34b48f7d83fd6168ed8007b134799eee", "sha256": "0ab577209eb73873449f4d61a145edd8592b16720967c3e3bd43fabcb8cb78bc" }, "downloads": -1, "filename": "peewee_seed-0.1.8-py3-none-any.whl", "has_sig": false, "md5_digest": "34b48f7d83fd6168ed8007b134799eee", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5070, "upload_time": "2019-01-11T08:16:16", "url": "https://files.pythonhosted.org/packages/b7/42/6b1dfc6cc43c27af52640956053156e57d0c6d70349674f70c72994e7e3f/peewee_seed-0.1.8-py3-none-any.whl" } ] }