Skip to content

Latest commit

 

History

History
47 lines (34 loc) · 1.24 KB

README.md

File metadata and controls

47 lines (34 loc) · 1.24 KB

Deno PG migrations

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",
    }
}

Usage

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)
}