Simple migration command for Flask and Psycopg 3.
Project description
PostgreSQL Database Migrations for Flask with Psycopg
Synopsis
flask-migratepg
is a simple migrations tool for Flask and Psycopg 3.
- Install and setup the Flask extension.
- Place SQL migrations under the subdirectory
database/migrations/
. - Execute migrations with the command
flask migrate execute
.
Installation
$ pip install flask-migratepg
Setup in application:
from flask import Flask
from flask_migratepg import MigratePg
import os
app = Flask(__name__)
app.config.from_mapping(
MIGRATIONS_PATH=os.path.abspath('database/migrations'),
PSYCOPG_CONNINFO="dbname=example host=localhost user=example password=secret"
)
MigratePg(app)
Usage
Create a new migration SQL file:
$ flask migrate --help
$ flask migrate new --help
$ flask migrate new migration_name
Then to run migrations:
$ flask migrate execute --help
$ flask migrate execute
This will run migrations in alphabetical order and track them in a migrations table.
If there is a failure, the transaction will be rolled back.
Migration Files
Migrations are placed under database/migrations/
as an SQL file
(that is, with an .sql
filename extension.)
The recommended filename format is YYMMDD_NNN_migration_name.sql
, for example, 20240219_001_add_table_accounts.sql
.
Statements are separated as per standard SQL conventions with a semicolon.
These are just plain-text standard SQL files. Comments (lines beginning with --
) will be ignored.
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
Hashes for flask_migratepg-1.0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | faa3e9fa059569bd78cd314c36cc1536159a03e3074a6908d88c0f4ff082d8d6 |
|
MD5 | 172584261b5418cac11c05b042366b18 |
|
BLAKE2b-256 | 07ca7049deeff1dd05f0a044f53677b8ae28a340a1939dc5a46547ae8ad2edbf |