# Developer Guide ## PostgreSQL To run and develop unleash you need to have PostgreSQL databse (PostgreSQL v.9.5.x or newer) locally. ### Create a local unleash databases in postgres ```bash $ psql postgres < npm run db-migrate -- create YOUR-MIGRATION-NAME ``` All migrations requires on `up` and one `down` method. Example of a typical migration: ```js /* eslint camelcase: "off" */ 'use strict'; exports.up = function (db, cb) { db.createTable('examples', { id: { type: 'int', primaryKey: true, notNull: true }, created_at: { type: 'timestamp', defaultValue: 'now()' }, }, cb); }; exports.down = function (db, cb) { return db.dropTable('examples', cb); }; ``` Test your migrations: ```bash > npm run db-migrate -- up > npm run db-migrate -- down ``` ## Publishing / Releasing new packages Please run `npm run nsp` nad `npm run test` checks before publishing. Run `npm run publish` to start the publishing process. `npm run publish:dry`