1. Define a small step forwards. 2. Make it fail. * For an internal feature, write a test. * For a visual feature, sketch a page or an action. * For a CLI feature, create a command. 3. Make it work. 4. Repeat.
đź‘ŤIn diff algorithm, I noticed a certain pattern that I use over an over again. đź‘ŤUsing this pattern, I implemented notification table diff. đź‘ŤFinally, I rearranged diff/migration code for better code readability.
đź‘ŤI found out that the whole search index creation should be done during indexing, not migrations. đź‘ŤI refactored diff algorithm and made it much easier to read.
đź‘ŤRecently, I fixed numerous issues to make the first migration tests work. đź‘ŤThen, I started implementing the schema diff algorithm - the basis for schema migrations.
The goal of the current iteration is to adjust the database schema and preserve/convert existing data according to *any* changes in schema classes, grids, forms or indexers.