Skip to content

Latest commit

 

History

History
49 lines (31 loc) · 1.56 KB

README.rst

File metadata and controls

49 lines (31 loc) · 1.56 KB

pw-database-url

This simple Python utility allows you to utilize the 12factor inspired DATABASE_URL environment variable to configure your Peewee ORM application.

All credit goes to Kenneth Reitz for this one, as it's a direct port of his dj-database-url utility for Django apps.

Usage

Configure your database from DATABASE_URL:

DATABASE = pw_database_url.config()

Parse an arbitrary Database URL:

DATABASE = pw_database_url.parse('postgres://...')

Multiple databases:

os.environ.setdefault('DB1_DATABASE_URL', 'postgres://user1:[email protected]:5432/test_db')
os.environ.setdefault('DB2_DATABASE_URL', 'mysql://user2:[email protected]:3306/test_db')

DATABASES = dj_database_url.config()

Supported databases

Support currently exists for PostgreSQL, MySQL and SQLite.

In addition, support for Postgres specific features can be enabled by using the postgresext:// pattern. This will give you access to the HStoreField type. See the peewee docs for usage information and examples.

SQLite connects to file based databases. The same URL format is used, omitting the hostname, and using the "file" portion as the filename of the database. This has the effect of four slashes being present for an absolute file path: sqlite:////full/path/to/your/database/file.sqlite.

Installation

Installation is simple too:

$ pip install pw-database-url