No commit activity in last 3 years
No release in over 3 years
schemadoc - document your database schemas (tables, columns, etc.)
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Development

~> 3.13
~> 4.0

Runtime

 Project Readme

schemadoc

schemadoc gem - document your database schemas (tables, columns, etc.)

Usage Command Line

The schemadoc gem includes a command line tool named - surprise, surprise - schemadoc. Try:

$ schemadoc --help

resulting in:

schemadoc 1.0.0 - Lets you document your database tables, columns, etc.

Usage: schemadoc [options]
    -o, --output PATH            Output path (default is '.')
    -v, --verbose                Show debug trace

Examples:
  schemadoc                # defaults to ./schemadoc.yml
  schemadoc football.yml

Configuration

The schemadoc command line tool requires a configuration file (defaults to ./schemadoc.yml if not passed along).

Database Connection Settings - database Section

Use the database section to configure you database connection settings. Example:

database:
  adapter:  sqlite3
  database: ./football.db

Schema Sections

All other sections are interpreted as database schemas. The first section is the "default" schema, that is, all tables not listed in other schemas will get auto-added to the "default" schema.

Example - schemadoc.yml

## connection spec

database:
  adapter:  sqlite3
  database: ./football.db


## main tables

football:
  name: Football


## world tables

world:
  name: World
  tables:
    - continents
    - countries
    - regions
    - cities
    - places
    - names
    - langs
    - usages

Outputs

The schemadoc tool writes out two json files:

  • database.json - includes all schemas, tables, columns, etc.
  • symbols.json - includes all symbols from a to z

Examples. See the football.db - database.json, symbols.json or beer.db - database.json, symbols.json live examples.

Reports 'n' Templates

To generate web pages from you json files use a static site generator and a template pack (theme). For example, to use the schemadoc/schemadoc-theme theme copy your json files in the _data/ folder and rebuild the site (e.g. $ jekyll build). That's it. Enjoy your database schema docu.

Examples. See the football.db or beer.db live examples.

Free Schemadoc Template Packs / Themes

Install

Just install the gem:

$ gem install schemadoc

In addition, install Active Record and your database adapter's gem such as mysql2

$ gem install activerecord
$ gem install mysql2

License

The schemadoc scripts are dedicated to the public domain. Use it as you please with no restrictions whatsoever.