@team_seki/postgres-plugin
v1.5.0
Published
This plugin is based on the [knex](https://knexjs.org/) library
Downloads
64
Readme
postgres-plugin
This plugin is based on the knex library
Building
Run nx build postgres-plugin
to build the library.
Environment variables
Environment variables are supported since v1.4.1
.
SK_GOOGLE_POSTGRES_<identifier>_CONNECTION_STRING
. The connection string. E.g.:postgresql://localhost:5432
SK_GOOGLE_POSTGRES_<identifier>_PRIVATE_IP_ADDRESS
. The ip address where the service is running. E.g.:localhost
SK_GOOGLE_POSTGRES_<identifier>_USERNAME
. The username used to connect to the service. E.g.:postgres
SK_GOOGLE_POSTGRES_<identifier>_PASSWORD
. The password used to connect to the service. E.g.:my-password
How to use it
const postgresPlugin = await new PostgresPlugin({ database: "db1" });
const knex = postgresPlugin.getClient();
const result = await knex.raw("select 1;");
postgresPlugin.close();
Migration
Create new migration
import { Knex, IMigration } from '@team_seki/postgres-plugin';
const migrations: IMigration[] = [
{
name: '000_define_users',
async up(knex: Knex) {
await knex.schema.createTable(tableName, (table) => {
table.bigIncrements('id').unsigned().primary();
table.string('name', 512).notNullable();
table.integer('age').notNullable();
});
},
async down(knex: Knex) {
console.log('Removing users table...');
await knex.schema.dropTableIfExists(tableName);
console.log('The users table was deleted successfully.');
},
}
];
runMigration
Runs all migrations that have not yet been run.
import { PostgresPlugin } from '@team_seki/postgres-plugin';
import migrations from './migrations'
const postgresPlugin = new PostgresPlugin({
database: 'db1'
});
await postgresPlugin.runMigration(migrations);
postgresPlugin.close();
rollbackMigration
Rolls back the latest migration group. If the all parameter is truthy, all applied migrations will be rolled back instead of just the last batch. The default value for this parameter is false.
import { PostgresPlugin } from '@team_seki/postgres-plugin';
import migrations from './migrations'
const postgresPlugin = new PostgresPlugin({
database: 'db1'
});
await postgresPlugin.rollbackMigration(migrations);
postgresPlugin.close();
upMigration
Runs the specified (by name parameter) or the next chronological migration that has not yet be run.
import { PostgresPlugin } from '@team_seki/postgres-plugin';
import migrations from './migrations'
const postgresPlugin = new PostgresPlugin({
database: 'db1'
});
await postgresPlugin.upMigration(migrations, '000_define_users');
postgresPlugin.close();
downMigration
Will undo the specified (by name parameter) or the last migration that was run.
import { PostgresPlugin } from '@team_seki/postgres-plugin';
import migrations from './migrations'
const postgresPlugin = new PostgresPlugin({
database: 'db1'
});
await postgresPlugin.downMigration(migrations, '000_define_users');
postgresPlugin.close();