npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

knodeo-liquibase

v0.1.4

Published

This library is a wrapper for Liquibase's command line functionality.

Downloads

11

Readme

Knodeo Liquibase

This library is a wrapper for Liquibase's command line functionality.

For more info on Liquibase's command line instruction set:

http://www.liquibase.org/documentation/command_line.html

Important Note:

This library does not use liquibase.properties.

Instead, it allows you to use a JSON object to allow greater control over execution. Whether you store this in your code or load it from a JSON, CSON, YAML or other type of data file is up to you.

Supported Command Line Tasks

Note that only the Liquibase CLI commands below are supported at this time.

  • update
  • updateCount
  • updateSQL
  • updateCountSQL
  • rollback
  • rollbackCount
  • generateChangelog
  • diff
  • diffChangelog
  • dbDoc
  • tag
  • status
  • validate
  • changelogSync
  • changelogSyncSQL
  • markNextChangeSetRan
  • dropAll

Prerequisites

  • Liquibase installed and put in the path. If you can type in liquibase from a terminal or DOS window, you're probably good to go.

Installation

To add it to your project:

npm install knodeo-liquibase --save

Usage

Samples in coffeescript:


liquibase = require("liquibase").Liquibase

# note the parameters are case matched to the liquibase docs
options = 
  driver: "driver.name"
  classpath: "somepath"
  url: "url:1234/to/db"
  username: "username"
  password: "password"
  changeLogFile: "changelogfile/path"

diffOptions = 
  referenceUserName: "referenceUserName"
  referencePassword: "referencePassword"
  referenceUrl: "referenceUrl"
  referenceDriver: "referenceDriver(optional)"

# if this is set to true, the command will not be executed but shown in the console
# default is true
liquibase.testMode = false

# Sets the main runtime options for liquibase
liquibase.resetRunOptions options

# update
liquibase.update()
liquibase.updateCount 1
liquibase.updateSql()
liquibase.updateCountSql 1

# rollback
liquibase.rollback "tagName"
liquibase.rollbackCount 1

# generate changelog from an existing database, i.e., "reverse engineer"
liquibase.generateChangeLog()

# show the differences between the database specified in the options and the diffOptions
liquibase.diff diffOptions
liquibase.diffChangeLog diffOptions

# generate documentation on the currrent database
liquibase.dbDoc()

# tag the database
liquibase.tag "tagName"

# show the migration status of the database
liquibase.status()

# validate the liquibase changelog file
liquibase.validate()

# mark changes as "ran"
liquibase.changeLogSync()
liquibase.changeLogSyncSql()

# clear the options for running liquibase
liquibase.resetRunOptions()