I realized that making an app invalid just because of a missing "down" migration to reverse the steps of an up migration is actually counter-productive. It's trivially easy to add a stub for a down migration thereby making the app "valid". But the stub won't do what it's expected (reverse the steps of an up migration) and therefore will more likely result in corrupted data. Not nice.
Instead issue warnings to app dev in ds-dev that there is a missing down migration, and warn user prior to migrating up if a down migration was not provided.
I realized that making an app invalid just because of a missing "down" migration to reverse the steps of an up migration is actually counter-productive. It's trivially easy to add a stub for a down migration thereby making the app "valid". But the stub won't do what it's expected (reverse the steps of an up migration) and therefore will more likely result in corrupted data. Not nice.
Instead issue warnings to app dev in ds-dev that there is a missing down migration, and warn user prior to migrating up if a down migration was not provided.