Skip to main content

Peewee ORM integration for Sanic framework

Project description

# Sanic-PW

A port of the [Flask-PW](https://github.com/klen/flask-pw) package for [Sanic framework](https://github.com/channelcat/sanic).

# Features
- Configuring Peewee ORM like in Flask with SQLAlchemy
- Migrate commands (create, rollback, etc.) via:
- using commands as a part of Sanic-Script
- click CLI
- Pre- and post-signals support for saving and deleting

# Requirements
- Python 3.6+ (older not tested)

# Dependency note
For using the 2nd version of Peewee ORM, please use `sanic-pw==0.1.0`.

# Using
## Installing
For installing Sanic-PW use the following command:
```
pip install sanic-pw
```

## List of available settings
| Config parameter | Description | Default value |
|------------------|-------------|----------------|
| PEEWEE_DATABASE_URI | A connection URI | `'sqlite:///peewee.sqlite'` |
| PEEWEE_CONNECTION_PARAMS | Connection parameters for Peewee ORM | `{}` |
| PEEWEE_MIGRATE_DIR | Path to directory with migrations | `'migrations'` |
| PEEWEE_MIGRATE_TABLE | Name of database table with migrations | `'migratehistory'` |
| PEEWEE_MODELS_MODULE | Path to module which contains you applications' Models | `''` |
| PEEWEE_MODELS_IGNORE | Models which should be ignored in migrations | `[]` |
| PEEWEE_MODELS_CLASS | Base models class | `<sanic_pw.Model>` |
| PEEWEE_MANUAL | Don't connect to db when request starts and close when it ends automatically | `False` |
| PEEWEE_USE_READ_SLAVES | Use database slaves for reading data when coming `SELECT ...` queries | `True` |
| PEEWEE_READ_SLAVES | A list of nodes which can be used for reading | `[]` |

## Migrations
If you're using the Sanic-Script package, then append a new command to your manager:
```python
from sanic_pw import Peewee

# ...
app.db = Peewee(app)

manager = Manager(app)
manager.add_command('db', app.db.manager)
```
For a case when you're prefer to use click it almost the same:
```python
from sanic_pw import Peewee

# ...
app.db = Peewee(app)
app.db.cli()
```
After it, you can use database `create`, `migrate` or `rollback` commands.


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sanic-pw-0.2.0.tar.gz (5.3 kB view hashes)

Uploaded Source

Built Distribution

sanic_pw-0.2.0-py3-none-any.whl (5.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page