schemalint-mysql
TypeScript icon, indicating that this package has built-in type declarations

1.0.11 • Public • Published

Schemalint

Run linting rules on your database schema. Read the intro to this idea in this blog post.

Works with Postgres databases.

This will give you errors like these:

public.actor.first_name: error prefer-text-to-varchar : Prefer text to varchar types

Usage

Install with:

$ npm i -D schemalint

To run, make sure you are in a folder that has a .schemalintrc.js configuration file, and type:

$ npx schemalint

Here is an example configuration file:

module.exports = {
  connection: {
    host: "localhost",
    user: "postgres",
    password: "postgres",
    database: "acme",
    charset: "utf8",
  },

  plugins: ["./custom-rules"],

  rules: {
    "name-casing": ["error", "snake"],
    "name-inflection": ["error", "singular"],
    "prefer-jsonb-to-json": ["error"],
    "prefer-text-to-varchar": ["error"],
  },

  schemas: [{ name: "public" }],

  ignores: [
    { identifierPattern: "public\\.knex_migrations.*", rulePattern: ".*" },
  ],
};

Rules

Schemalint includes a number of built-in rules, which you can read about here. However, writing rules is easy and you will probably see the real value by doing so. The example folder shows how to write these.

/schemalint-mysql/

    Package Sidebar

    Install

    npm i schemalint-mysql

    Weekly Downloads

    1

    Version

    1.0.11

    License

    MIT

    Unpacked Size

    61.7 kB

    Total Files

    26

    Last publish

    Collaborators

    • cdotyone