eva
eva copied to clipboard
Allow attribute edits that won't corrupt data
It is currently impossible to make edits to already installed attributes in eva. This can be problematic if an attribute is installed incorrectly since it will require either:
- A new attribute with the same name to be installed + data migration
- A new attribute with the same name to be installed + query and pullspec tweaks to look for both the new and old attribute
- Database to be wiped and the attribute to be correctly installed
While this is desirable in some cases such as a change from db.cardinality/many
to db.cardinality/one
as that would corrupt the database. However some operations should be safe, such as changing from db.cardinality/one
to db.cardinality/many
or removing :unique
. A full system wide retract should also be more or less safe.
Long story short, allow operations that should be "safe" and don't allow "unsafe" operations