bluerabbit / schema_linter

Home Page:https://rubygems.org/gems/schema_linter

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

schema_linter

This tool inspects whether the database schema contains any reserved words from MySQL or PostgreSQL, or any table names and column names that should not be used in Rails. Furthermore, it allows for the definition of custom settings using custom definition rules in the YAML configuration file.

Installation

Add this line to your Gemfile:

gem 'schema_linter'

Then run:

% bundle

Usage

Simply execute the following command in your Rails app directory.

% rake schema_linter

If you want the rake task to fail when it encounters errors, use:

% FAIL_ON_ERROR=1 rake schema_linter

Configuration

Create a .schema_linter.yaml or .schema_linter.yml file in your root directory.

To flag specific tables as errors, list them with regular expressions under error_table_names. To flag specific columns as errors, list them with regular expressions under error_column_names.

error_table_names:
  - .*histories$
  - .*info$

error_column_names:
  - .*data$

To exclude specific tables from the checks, list them with regular expressions under ignore_table_names. To exclude specific columns from the checks, list them with regular expressions under ignore_column_names.

ignore_table_names:
  - ^user$

ignore_column_names:
  - ^role$

Copyright

Copyright (c) 2023 Akira Kusumoto. See MIT-LICENSE file for further details.

About

https://rubygems.org/gems/schema_linter

License:MIT License


Languages

Language:Ruby 100.0%