Rakenne is a database modeling tool for command line written in Crystal. // 🚧 Draft
Go to file
Glenn Y. Rolland 9bb8da9101
Update README.md
2020-05-18 11:43:27 +02:00
doc Update and rename pd-dsl.md to lmd-dsl.md 2020-05-18 11:42:36 +02:00
src Add basic structure for Crystal 2020-05-17 17:39:36 +02:00
README.md Update README.md 2020-05-18 11:43:27 +02:00
shard.yml Add basic structure for Crystal 2020-05-17 17:39:36 +02:00



GitHub license Donate on patreon

Rakenne is a database modeling tool for command line written in Crystal.

For now, It is a toy project to improve author's skills with the language and its various libraries. It is very early stage and is not supposed to work (yet). Please don't use it in production. ⚠️

Note: rakenne means structure, construction in Finnish.


  • ➡️ define a DSL for modeling database
  • create a command-line tool
    • describe needed operations and parameters
    • write the code to handle all those operations
  • render models into diagrams with GraphViz
    • ERD to MERISE MCD diagrams
    • ERD to Chen notation diagrams
    • LMD to MERISE MLD diagrams
  • validate model
  • convert across different database reprentations
    • convert ERD to LMD
    • convert LMD to database specific SQL
    • reverse-engineer database-specific SQL to LMD
    • reverse-engineer LMD to ERD
  • support multiple physical models
    • sql
    • nosql (⚠️ that requires de-normalizing)
  • support multiple SQL and NoSQL languages
    • SQL: postgresql
    • SQL: mariadb
    • NoSQL: redis
    • NoSQL: mongodb
    • NoSQL: cassandra CQL (⚠️ that requires knowing which requests will be made)


  1. Fork it ( http://github.com/glenux/rakenne/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

Authors & contributors

  • Glenn Y. Rolland - creator and maintainer
  • You? Fork the project and become a contributor!


Rakenne is an independent project whose development and maintenance is made possible thanks to the support of its patrons.

If you wish to join them and support the work of its author, just participate with this link:

>>> Become a patron or sponsor on Patreon <<<


Rakenne is Copyright © 2020 Glenn ROLLAND. It is free software, and may be redistributed under the terms specified in the LICENSE.txt file.


Alternatives and inspirations