# Pogo migrate - asyncpg migration tooling
[![uv](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/uv/main/assets/badge/v0.json)](https://github.com/astral-sh/uv)
[![ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
[![image](https://img.shields.io/pypi/v/pogo_migrate.svg)](https://pypi.org/project/pogo_migrate/)
[![image](https://img.shields.io/pypi/l/pogo_migrate.svg)](https://pypi.org/project/pogo_migrate/)
[![image](https://img.shields.io/pypi/pyversions/pogo_migrate.svg)](https://pypi.org/project/pogo_migrate/)
![style](https://github.com/NRWLDev/pogo-migrate/actions/workflows/style.yml/badge.svg)
![tests](https://github.com/NRWLDev/pogo-migrate/actions/workflows/tests.yml/badge.svg)
[![codecov](https://codecov.io/gh/NRWLDev/pogo-migrate/branch/main/graph/badge.svg)](https://codecov.io/gh/NRWLDev/pogo-migrate)
`pogo-migrate` is a migration tool intended for use with `asyncpg` and assists
with maintaining your database schema (and data if required) as it evolves.
Pogo supports migrations written in raw sql, as well as python files (useful
when data needs to be migrated).
A migration can be as simple as:
```sql
-- a descriptive message
-- depends: 20210101_01_abcdef-previous-migration
-- migrate: apply
CREATE TABLE foo (id INT, bar VARCHAR(20), PRIMARY KEY (id));
-- migrate: rollback
DROP TABLE foo;
```
Pogo manages these migration scripts and provides command line tools to apply,
rollback and show migration history.
See the [docs](https://nrwldev.github.io/pogo-migrate/) for more details.
## Thanks and Credit
Inspiration for this tool is drawn from
[yoyo](https://ollycope.com/software/yoyo/latest/) and
[dbmate](https://github.com/amacneil/dbmate).
Raw data
{
"_id": null,
"home_page": null,
"name": "pogo-migrate",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": "Daniel Edgecombe <daniel@nrwl.co>",
"keywords": "asyncpg, database, migrate, migrations, yoyo",
"author": null,
"author_email": "Daniel Edgecombe <daniel@nrwl.co>",
"download_url": "https://files.pythonhosted.org/packages/77/f2/a657273877ec300b3e198c1370f62f0bca99b3e7c29b5c968b88f02a9891/pogo_migrate-0.2.5.tar.gz",
"platform": null,
"description": "# Pogo migrate - asyncpg migration tooling\n[![uv](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/uv/main/assets/badge/v0.json)](https://github.com/astral-sh/uv)\n[![ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)\n[![image](https://img.shields.io/pypi/v/pogo_migrate.svg)](https://pypi.org/project/pogo_migrate/)\n[![image](https://img.shields.io/pypi/l/pogo_migrate.svg)](https://pypi.org/project/pogo_migrate/)\n[![image](https://img.shields.io/pypi/pyversions/pogo_migrate.svg)](https://pypi.org/project/pogo_migrate/)\n![style](https://github.com/NRWLDev/pogo-migrate/actions/workflows/style.yml/badge.svg)\n![tests](https://github.com/NRWLDev/pogo-migrate/actions/workflows/tests.yml/badge.svg)\n[![codecov](https://codecov.io/gh/NRWLDev/pogo-migrate/branch/main/graph/badge.svg)](https://codecov.io/gh/NRWLDev/pogo-migrate)\n\n`pogo-migrate` is a migration tool intended for use with `asyncpg` and assists\nwith maintaining your database schema (and data if required) as it evolves.\nPogo supports migrations written in raw sql, as well as python files (useful\nwhen data needs to be migrated).\n\nA migration can be as simple as:\n\n```sql\n-- a descriptive message\n-- depends: 20210101_01_abcdef-previous-migration\n\n-- migrate: apply\nCREATE TABLE foo (id INT, bar VARCHAR(20), PRIMARY KEY (id));\n\n-- migrate: rollback\nDROP TABLE foo;\n```\n\nPogo manages these migration scripts and provides command line tools to apply,\nrollback and show migration history.\n\nSee the [docs](https://nrwldev.github.io/pogo-migrate/) for more details.\n\n## Thanks and Credit\n\nInspiration for this tool is drawn from\n[yoyo](https://ollycope.com/software/yoyo/latest/) and\n[dbmate](https://github.com/amacneil/dbmate).\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "Database migration tool for asyncpg",
"version": "0.2.5",
"project_urls": null,
"split_keywords": [
"asyncpg",
" database",
" migrate",
" migrations",
" yoyo"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "e27bbad94d82a53763d79a959f6a2324736853501826a90d2b828b1ebeee0924",
"md5": "75af2348b3a18e22a6bbda56ebb23018",
"sha256": "00d3eec3b25fa9e6af957a7cc9f2292cb647dfa7136e752747de9b459b3a0904"
},
"downloads": -1,
"filename": "pogo_migrate-0.2.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "75af2348b3a18e22a6bbda56ebb23018",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 20587,
"upload_time": "2024-11-28T11:42:13",
"upload_time_iso_8601": "2024-11-28T11:42:13.475825Z",
"url": "https://files.pythonhosted.org/packages/e2/7b/bad94d82a53763d79a959f6a2324736853501826a90d2b828b1ebeee0924/pogo_migrate-0.2.5-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "77f2a657273877ec300b3e198c1370f62f0bca99b3e7c29b5c968b88f02a9891",
"md5": "9a6089fa8958c14717054421584979d3",
"sha256": "d7dc382260e7fa691c231cff1372efb85488d783f782bdb252caab4e34a067ed"
},
"downloads": -1,
"filename": "pogo_migrate-0.2.5.tar.gz",
"has_sig": false,
"md5_digest": "9a6089fa8958c14717054421584979d3",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 76052,
"upload_time": "2024-11-28T11:42:15",
"upload_time_iso_8601": "2024-11-28T11:42:15.248224Z",
"url": "https://files.pythonhosted.org/packages/77/f2/a657273877ec300b3e198c1370f62f0bca99b3e7c29b5c968b88f02a9891/pogo_migrate-0.2.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-28 11:42:15",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "pogo-migrate"
}