# 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 < ./node_modules/.bin/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); }; ``` ## Publishing / Releasing new packages Please run `npm run nsp` nad `npm run lint` checks before publishing. Run `npm run publish` to start the publishing process. Lerna is setup with independent versioning so you will be prompted with version per package, and lerna will update all the versions across packages. `npm run publish:dry`