data-elevator-postgres

Flexible utility for managing migrations of postgres data sources

Usage no npm install needed!

<script type="module">
  import dataElevatorPostgres from 'https://cdn.skypack.dev/data-elevator-postgres';
</script>

README

DATA ELEVATOR POSTGRES

The data elevator postgres is an easy to use and very flexible utility for migrating data sources based on the NPM module data elevator. The only difference is that data elevator postgres stores its current migration level in a postgres database.

Storing the current migration level in a database brings advantages when a project shares its data source with multiple running instances of a project. For example when multiple developers working with one database or the project runs on multiple servers.

QUICKSTART

STEP 1: Install

npm install data-elevator-postgres

STEP 2: Construct a new data elevator for the project.

node ./node-modules/data-elevator-postgres construct

STEP 3: Add a new migration.

node ./data-elevator/elevator add "add phone number to users"

STEP 4: Enter you migration code in the generated floor file.

see: ./data-elevator/floors/

STEP 5: Move the elevator to migrate data.

node ./data-elevator/elevator move top
node ./data-elevator/elevator move ground
node ./data-elevator/elevator move 2

STEP 6: Use help command to get information about additional commands

node ./data-elevator/elevator help

CONFIGURATION

  • levelControllerConfig.tableName: Name of the table to store the migration level in
  • levelControllerConfig.connectionOptions: Connection options see postgres node documentation
var config = {
    levelControllerConfig: {
       collectionName: "_data_elevator",
       connectionOptions: null
    }
}

FURTHER DOCUMENTATION

For further documenation about commands or customizations see data elevator documentation.

RELATED MODULES

  • data-elevator (npm, github) - store elevator migration levels in a plain file
  • data-elevator-elasticsearch (npm, github) - store elevator migration levels in elasticsearch
  • data-elevator-mongodb (npm, github) - store elevator migration levels in mongodb
  • data-elevator-mysql (npm, github) - store elevator migration levels in mysql
  • data-elevator-postgres (npm, github) - store elevator migration levels in postgres
  • data-elevator-sqlite3 (npm, github) - store elevator migration levels in sqlite3