Simple migrations for postgres databases. This tool creates a table named migrations
to track the state of the database.
Navigate to project you want to use migrations on, Install CLI tool for project (assumes deno.jsonc for imports):
deno install --name=YOUR_PROJECT-db --config=deno.jsonc -f --allow-net --allow-env --allow-read --allow-run --allow-write=./database/migrations https://raw.githubusercontent.com/john-pope/pg-db/1.0.0/src/cli/main.ts
Add postgresjs
to imports:
{
"imports": {
//...
"postgresjs": "https://deno.land/x/[email protected]/mod.js",
"pg-db": "https://raw.githubusercontent.com/john-pope/pg-db/1.0.0/src/mod.ts",
}
}
We'll assume you installed with --name=test-db
test-db --help
test-db migrate
test-db rollback
test-db new create_table_users
Migrations are placed in the current working directory database/migrations
You need to supply a connection function in database/connection.ts
:
Here is an example database/connection.ts
file:
import postgresjs from "postgresjs";
import {database} from '../settings.ts';
export function connect() {
return postgresjs(database.url)
}