Elixir Rivets — Data Model Framework
This project is still a "Work in Progress" and not ready for GA
Rivets is an opinionated framework for managing data models in Elixir.
Rivet is a series of helper libraries for elixir applications wanting help in their Rivets projects.
Library Contributors: Mark Erickson, Brandon Gillespie, Lyle Mantooth, Jake Wood
Look in module docs lib/mix/tasks/index.ex for command syntax
TODO
we need this somewhere global 😄 I use the latter logic in guards all the time.
-
make a default test for mapping tables that doesn't use '.id', and perhaps a --mapping flag or similar to note this
-
migrate should print what its doing
-
running 'mix rivet new model' prints 'creating' in _build folder even though it ends up in the right place, but this is odd. Also gets "model already exists..." error.
Model already exists in
/.../src/_build/dev/lib/core/priv/rivet/migrations/migrations.exs, not addingbut it isn't in migrations.exs... so something is wrong
-
adding new model isn't added to parent index
-
running from within umbrella is hairy. Just run commands from within the sub-app, instead of top of umbrella, for now
-
configurable table prefixes in db schema
-
maturing command set (see mix rivet help)
-
tighter integration w/Ecto (see prior)
-
mix rivet migrate is silent, need to get it noisy like typical ecto.migrate
-
tests are currently going into path/model/model_test; should just be path/model_test
-
default model shouldn't create so many things
How to use?
See rivet-ident for a project using the Rivets Framework.
You can bring the rivet-ident into YOUR project as a dependency (see notes on that project for more details)