1.0.6 • Published 1 year ago

@team_seki/postgres-plugin v1.0.6

Weekly downloads
-
License
-
Repository
-
Last release
1 year ago

postgres-plugin

This plugin is based on the knex library

Building

Run nx build postgres-plugin to build the library.

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();