Work library for Forge
Project description
forge-db
Use Postgres for local Django development via Docker.
Installation
First, install forge-db
from PyPI:
pip install forge-db
Now you will have access to the db
command:
forge db
You will need to have a DATABASE_URL
environment variable,
which is where the database name, username, password, and port are parsed from:
# .env
DATABASE_URL=postgres://postgres:postgres@localhost:54321/postgres
You can use a POSTGRES_VERSION
environment variable to override the default Postgres version (13):
# .env
POSTGRES_VERSION=12
In most cases you will want to use dj_database_url
in your settings.py
to easily set the same settings (works in most deployment environments too):
# settings.py
import dj_databse_url
DATABASES = {
"default": dj_database_url.parse(
environ["DATABASE_URL"], conn_max_age=environ.get("DATABASE_CONN_MAX_AGE", 600)
)
}
You will also notice a new .forge
directory in your project root.
This contains your local database files and should be added to .gitignore
.
Usage
If you use forge-work
,
then most of the time you won't need to interact with forge-db
directly.
But it has a few commands that come in handy.
forge db start
- starts a new database container and runs it in the background (use--logs
to foreground it or connect to the logs)forge db stop
- stop the database containerforge db reset
- drops and creates a new databaseforge db pull
- pulls the latest database backup from Heroku and imports it into the local database
In the end, the database container is like any other Docker container. You can use the standard Docker commands and tools to interact with it when needed.
Snapshots
The forge db snapshot
command manages local copies of your development database.
This is useful for testing migrations or switching between git branches that have different db states.
Snapshots are simply additional Postgres databases that are created and dropped as needed (createdb {snapshot_name} -T postgres
).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file forge_db-1.2.0.tar.gz
.
File metadata
- Download URL: forge_db-1.2.0.tar.gz
- Upload date:
- Size: 7.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.4.0 CPython/3.11.2 Linux/5.15.0-1033-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c10683a3878b0449ef0070049da6e2954a31fa5f590bda915fa7374e5deba4b0 |
|
MD5 | a718708479ac80f0fe0c5465e7e9cc93 |
|
BLAKE2b-256 | 149be75123caf737666f4adfd20e2c90da820f8049e89cc99ce929472111c60a |
File details
Details for the file forge_db-1.2.0-py3-none-any.whl
.
File metadata
- Download URL: forge_db-1.2.0-py3-none-any.whl
- Upload date:
- Size: 8.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.4.0 CPython/3.11.2 Linux/5.15.0-1033-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 281a369fea8874687a0f6504864237a4223c9777a32f05af5d16ff9dc8f44a77 |
|
MD5 | 7bc044e78c186ac91e17d1a06c7aade7 |
|
BLAKE2b-256 | 2a99c965bfafb3dd2b9a61c64113f94485f52741b7bc40a1297edecb4d3c0d4d |