{"id":22826119,"url":"https://github.com/mbarre/schemacrawler-additional-lints","last_synced_at":"2025-10-27T11:04:36.057Z","repository":{"id":2658948,"uuid":"39225741","full_name":"mbarre/schemacrawler-additional-lints","owner":"mbarre","description":"Some additionnal lints for Schemacrawler","archived":false,"fork":false,"pushed_at":"2023-01-23T07:02:37.000Z","size":8326,"stargazers_count":13,"open_issues_count":41,"forks_count":7,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-23T08:17:02.610Z","etag":null,"topics":["database","java","lints","schemacrawler"],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mbarre.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-07-16T23:45:16.000Z","updated_at":"2025-04-13T01:06:39.000Z","dependencies_parsed_at":"2023-02-12T21:16:34.384Z","dependency_job_id":null,"html_url":"https://github.com/mbarre/schemacrawler-additional-lints","commit_stats":null,"previous_names":[],"tags_count":35,"template":false,"template_full_name":null,"purl":"pkg:github/mbarre/schemacrawler-additional-lints","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mbarre%2Fschemacrawler-additional-lints","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mbarre%2Fschemacrawler-additional-lints/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mbarre%2Fschemacrawler-additional-lints/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mbarre%2Fschemacrawler-additional-lints/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mbarre","download_url":"https://codeload.github.com/mbarre/schemacrawler-additional-lints/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mbarre%2Fschemacrawler-additional-lints/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262642958,"owners_count":23341817,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["database","java","lints","schemacrawler"],"created_at":"2024-12-12T17:14:22.459Z","updated_at":"2025-10-27T11:04:31.016Z","avatar_url":"https://github.com/mbarre.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"#  Schemacrawler Additional Lints\n[![Project Website](https://img.shields.io/badge/Project%20Website-Additional%20Lints-7f3692.svg)](http://mbarre.github.io/schemacrawler-additional-lints/)\n[![Build Status](https://travis-ci.org/mbarre/schemacrawler-additional-lints.svg?branch=master)](https://travis-ci.org/mbarre/schemacrawler-additional-lints)\n[![Release](https://jitpack.io/v/mbarre/schemacrawler-additional-lints.svg)](https://jitpack.io/mbarre/schemacrawler-additional-lints)\n[![Coverage Status](https://coveralls.io/repos/mbarre/schemacrawler-additional-lints/badge.svg?branch=master\u0026service=github)](https://coveralls.io/github/mbarre/schemacrawler-additional-lints?branch=master)\n[![Join the chat at https://gitter.im/mbarre/schemacrawler-additionallints](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/mbarre/schemacrawler-additional-lints?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge)\n![Docker Pulls](https://img.shields.io/docker/pulls/mbarre/schemacrawler-additional-lints)\n\nSome additional lints for [Schemacrawler](http://sualeh.github.io/SchemaCrawler/)\n\n# Main purpose\n\nThe main purpose of this lint library is to enhance native schemacrawler lints\nwith some more hardcore constraints and some specific postgres types. That's\nwhy a postgreSQL database instance is required to test.\n\nThis project has been created to be used at our former office\n[Mairie de la Ville de Nouméa](http://www.noumea.nc/) to test our database\nschema quality in a more easy way and make it possible for our partners to\napply our database quality policy the easy way.\n\n# Build and install lint\n\n**Notice that this version is designed to run on schemacrawler `14.x.x`...\nand hence is requiring JDK-1.8 to be built and run.**\n\nFor now the jar is not available on maven central repo, so you'll have to build it yourself :\n\n    git clone https://github.com/mbarre/schemacrawler-additional-lints.git schemacrawler-additional-lints\n    cd schemacrawler-additional-lints\n    export LINT_VERSION=1.02.02\n\nBuild without testing as a local postgres install is required to test.\n\n    mvn install -Dmaven.test.skip=true\n    cp target/schemacrawler-additional-lints-${LINT_VERSION}.jar $SCHEMACRAWLER_HOME/lib\n\n... and you're done, you just have to pass your\nnormal  [schemacrawler lint](http://sualeh.github.io/SchemaCrawler/lint.html)\ncommand and enjoy.\n\n# Build and test\n\nTo be able to test locally, assuming you have a locally postgreSQL instance\nup and running with the proper `superuser` account, then run the following\ncommands\n\n    dropdb --if-exists sc_lint_test\n    createdb sc_lint_test\n    mvn install\n    cp target/schemacrawler-additional-lints-${LINT_VERSION}.jar $SCHEMACRAWLER_HOME/lib\n    \nOr, install [Docker Compose](https://docs.docker.com/compose/install/) to deploy PostgreSQL and the database\n\n    docker-compose -f docker/postgresql.yml up\n    mvn install\n    cp target/schemacrawler-additional-lints-${LINT_VERSION}.jar $SCHEMACRAWLER_HOME/lib\n    \n# Docker Image\n\nSchemacrawler Additional Lints is now released with an image on Docker Hub. This is an extension of the [SchemaCrawler Docker Image](https://www.schemacrawler.com/docker-image.html).\n\nYou can run docker container like this :\n\n    docker run --name schemacrawler-additional-lints --rm -i -t --entrypoint=/bin/bash --net=host mbarre/schemacrawler-additional-lints\n\n--net=host option will allow you to work on database deployed on your host.\n\nUse the Schemacrawler Interactive Shell\n\n    schemacrawler --shell\n    \nUse the following script from within the shell to launch the lints analysis :\n\n    connect --server=your_db_server --database=your_db --user=your_user\n    load --info-level=minimum\n    execute --command lint\n\nOr, simplier...\n    \n    schemacrawler --server=your_db_server --database=your_db --user=your_user --info-level=minimum  --command lint\n\nThe docker image also includes the command which export lints in csv files, for more information see [adriens/schemacrawler-additional-command-lints-as-csv](https://github.com/adriens/schemacrawler-additional-command-lints-as-csv)\n\nYou can try it this way :\n\n    schemacrawler --server=your_db_server --database=your_db --user=your_user --info-level=minimum  --command csv\n\nA default linter config file is available in the schemacrawler container home directory : **schemacrawler-linter-config.xml**.\nYou can use it to include or exclude tables, change the lints severity, by adding **--linter-configs=schemacrawler-linter-config.xml** to lint and csv commands.\n\n# Pre-release tasks\n\nCheck that dependencies are up-to-date :\n\n    mvn versions:display-dependency-updates\n\nCheck that plugins are up-to-date :\n\n    mvn versions:display-plugin-updates\n\n# Command line examples\n\n    schemacrawler -server=postgresql -host=localhost -port=5432 -database=pdc -user=pdc_adm -password=pdc_adm -infolevel=maximum -schemas=pdc_adm -loglevel=INFO -c=lint --outputfile=lint_pdc.html -outputformat=html\n\n# Donate\n\nIf you like this lint library, you can donate :\n\n* Stars on github\n* Ideas for new lints\n* Code for new lints\n* Code to increase code coverage\n* [Create issue](https://github.com/mbarre/schemacrawler-additional-lints/issues)\n* A nice logo\n* Feebdack on this library\n* Anything you think that could make us happy to go on developing this library,\nincluding just some kind words on our gitter\n\n# Thanks\n\n\u003ca href=\"https://www.jetbrains.com/idea/?fromMenu\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/mbarre/schemacrawler-additional-lints/master/src/site/img/logo.png\" height=\"42\" width=\"42\"\u003e\u003c/a\u003e\nTo Jetbrains for offering an [IntelliJ IDEA](https://www.jetbrains.com/idea/?fromMenu) Free Open Source License to this project contributors.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmbarre%2Fschemacrawler-additional-lints","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmbarre%2Fschemacrawler-additional-lints","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmbarre%2Fschemacrawler-additional-lints/lists"}