GithubHelp home page GithubHelp logo

valoricde / east-postgres Goto Github PK

View Code? Open in Web Editor NEW

This project forked from 2do2go/east-postgres

0.0 1.0 0.0 9 KB

postgres adapter for "east"

Home Page: https://github.com/2do2go/east-postgres

JavaScript 100.00%

east-postgres's Introduction

east postgres

postgresql adapter for east (node.js database migration tool) which uses node-postgres

All executed migrations names will be stored at _migrations table in the current database. Object with following properties will be passed to migrate and rollback functions:

Installation

npm install east east-postgres -g

alternatively you could install it locally

Usage

go to project dir and run

east init

create .eastrc file at current directory

{
	"adapter": "east-postgres",
	"url": "postgres://user:[email protected]:5432/database"
}

where url is url for connect to postgresql db: "postgres://someuser:somepassword@somehost:381/sometable"

now we can create some migrations

east create apples
east create bananas

created files will looks like this one

exports.migrate = function(client, done) {
	var db = client.db;
	done();
};

exports.rollback = function(client, done) {
	var db = client.db;
	done();
};

edit created files and insert

to 1_apples

exports.migrate = function(client, done) {
	var db = client.db;
	var sqlStr = 'insert into things values($1, $2, $3)';
	db.run(sqlStr, [1, 'apple', 'red'], function(err) {
		if (err) return done(err);
		db.run(sqlStr, [2, 'apple', 'green'], done);
	});
};

exports.rollback = function(client, done) {
	var db = client.db;
	db.run('delete from things where id in (1, 2)', done);
};

to 2_bananas

exports.migrate = function(client, done) {
	var db = client.db;
	db.run('insert into things values($1, $2, $3)', [3, 'banana', 'yellow'], done);
};

exports.rollback = function(client, done) {
	var db = client.db;
	db.run('delete from things where id=3', done);
};

now we can execute our migrations

east migrate

output

target migrations:
	1_apples
	2_bananas
migrate `1_apples`
migration done
migrate `2_bananas`
migration done

and roll them back

east rollback

output

target migrations:
	2_bananas
	1_apples
rollback `2_bananas`
migration successfully rolled back
rollback `1_apples`
migration successfully rolled back

you can specify one or several particular migrations for migrate/rollback e.g.

east migrate 1_apples

or

east migrate 1_apples 2_bananas

Run east -h to see all commands, east <command> -h to see detail command help, see also east page for command examples.

Running test

run east tests with this adapter

east-postgres's People

Contributors

anton-makarov avatar okv avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.