Security News
Node.js EOL Versions CVE Dubbed the "Worst CVE of the Year" by Security Experts
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.
larvitdbmigration-pg
Advanced tools
image:https://travis-ci.org/larvit/larvitdbmigration-pg.svg?branch=master[] image:https://coveralls.io/repos/github/larvit/larvitdbmigration-pg/badge.svg?branch=master[]
= Database migration tool
This is used to keep track of database structure, content etc, and update it when need be via deploys.
A table by default called db_versions will be created, containing a single integer.
Scripts will be placed by default in process.cwd()/dbmigration/.js
Each migration script will be ran, and the db_version increased, until no more migration scripts exists.
== Installation
npm i larvitdbmigration-pg
== Usage
=== Application startup script
In your application startup script, do something like this:
const DbMigration = require('larvitdbmigration-pg'); const Db = require('larvitdb-pg'); const dbDriver = new Db({ user: 'foo', password: 'bar', }); const dbMigration = new DbMigration({ dbDriver, tableName: 'db_version', // Optional - defaults to 'db_version' migrationScriptPath: './dbmigration', // Optional, defaults to './dbmigration' log // Optional, will use log.silly(), log.debug(), log.verbose(), log.info(), log.warn() and log.error() if given. });
=== Example migration scripts
Lets say the current database have a table like this:
And in the next deploy we'd like to change the column name "nisse" to "hasse". For this you can do one of two methods:
==== Javascript
Create the file process.cwd()/migrationScriptPath/1.js with this content:
'use strict';
// Always make the function async (or return a promise, they are equal) exports = module.exports = async function (options) { const { db } = options;
await db.query('ALTER TABLE bloj RENAME COLUMN nisse TO hasse;');
==== SQL
IMPORTANT! SQL files will be ignored if a .js file exists.
Create the file process.cwd()/migrationScriptPath/1.sql with this content:
==== Summary
Tadaaa! Now this gets done once and the version will be bumped to 1. If you then create a script named "2.js" or "2.sql" you might guess what happends. :)
== Version history
=== v0.2.0
=== v0.1.3
FAQs
Database migration tool
The npm package larvitdbmigration-pg receives a total of 10 weekly downloads. As such, larvitdbmigration-pg popularity was classified as not popular.
We found that larvitdbmigration-pg demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 4 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.
Security News
cURL and Go security teams are publicly rejecting CVSS as flawed for assessing vulnerabilities and are calling for more accurate, context-aware approaches.
Security News
Bun 1.2 enhances its JavaScript runtime with 90% Node.js compatibility, built-in S3 and Postgres support, HTML Imports, and faster, cloud-first performance.