🟠 Draft | A diagram-as-code database modeling tool
doc | ||
src | ||
README.md | ||
shard.yml |
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.
Roadmap
- ➡️ define a DSL for modeling database
- ➡️ describe entity-relationship diagrams (ERD) using MERISE notation
- ➡️ describe logical model diagrams (LMD)
- ❌ 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)
Contributing
- Fork it ( http://github.com/glenux/rakenne/fork )
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request
Authors & contributors
- Glenn Y. Rolland - creator and maintainer
- You? Fork the project and become a contributor!
Sponsors
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 <<<
License
Rakenne is Copyright © 2020 Glenn ROLLAND. It is free software, and may be redistributed under the terms specified in the LICENSE.txt file.
References
- Wikipedia: Entity-relationship model
- Lucidchart: ER diagrams
- Youtube: 04.5 - Règles de vérification du MCD