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:

<s>~ $ schemadoc –help </s>~

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:

<s>~ database: adapter: sqlite3 database: ./football.db </s>~

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:

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 book-templates/schema 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:

<s>~ $ gem install schemadoc </s>~

License

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