- Notifications
You must be signed in to change notification settings - Fork3
Peewee integration to Muffin framework
License
NotificationsYou must be signed in to change notification settings
klen/muffin-peewee
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Contents
- python >= 3.7
Muffin Peewee should be installed using pip:
pip install muffin-peewee
Optionally you are able to install it with postgresql drivers:
pip install muffin-peewee[postgres]
frommuffinimportApplicationfrommuffin_peeweeimportPluginasPeewee# Create Muffin Applicationapp=Application('example')# Initialize the plugin# As alternative: jinja2 = Jinja2(app, **options)db=Peewee()db.setup(app,PEEWEE_CONNECTION='postgres+pool+async://postgres:postgres@localhost:5432/database')
Name | Default value | Desctiption |
CONNECTION | sqlite+async:///db.sqlite | Database URL |
CONNECTION_PARAMS | {} | Additional params for DB connection |
MANAGE_CONNECTIONS | True | Install a middleware to aquire db connections automatically |
MIGRATIONS_ENABLED | True | Enable migrations with |
MIGRATIONS_PATH | "migrations" | Set path to the migrations folder |
You are able to provide the options when you are initiliazing the plugin:
db.setup(app,connection='DB_URL')
Or setup it insideMuffin.Application
config using thePEEWEE_
prefix:
PEEWEE_CONNECTION='DB_URL'
Muffin.Application
configuration options are case insensitive
@db.registerclass Test(peewee.Model): data = peewee.CharField()@app.route('/')async def view(request): return [t.data for t in Test.select()]
# Set configuration option `MANAGE_CONNECTIONS` to False# Use context manager@app.route('/')async def view(request): async with db: # Work with db # ...
Create migrations:
$ muffin example:app pw_create [NAME] [--auto]
Run migrations:
$ muffin example:app pw_migrate [NAME] [--fake]
Rollback migrations:
$ muffin example:app pw_rollback [NAME]
List migrations:
$ muffin example:app pw_list
If you have any suggestions, bug reports orannoyances please report them to the issue trackerathttps://github.com/klen/muffin-peewee/issues
Development of Muffin Peewee happens at:https://github.com/klen/muffin-peewee
- klen (Kirill Klenov)
Licensed under aMIT license.
About
Peewee integration to Muffin framework
Topics
Resources
License
Code of conduct
Security policy
Stars
Watchers
Forks
Packages0
No packages published