3 ms·
When you say JSON is more agile is that because you don't need to write migrations? Do you use a framework that supports migrations like active record or south?
by sytse 8y ago
When you say JSON is more agile is that because you don't need to write migrations? Do you use a framework that supports migrations like active record or south?
- collyw 8y agoWriting a load of consistency checks in the application layer sounds the opposite of agile to me. Unless you just want sloppy data.
- _Codemonkeyism 8y agoWe do not use migrations with JSON. Adding and removing happens on the application layer with using Option[_] monads in the data model. Add a field means add Option[_], removing a field means making e.g. String an Option[String] - or fill with default values on read. If we drop a field over time we ignore it during writes. case class Person(name:String) adding a job field after some time becomes case class Person(name:String, job:Option[String]) and application code needs to deal with it. Works for us, compared to my previous jobs where we used SQL and migrations.