DmitryTsepelev / store_model

Work with JSON-backed attributes as ActiveRecord-ish models
MIT License
1.04k stars 85 forks source link

Restore behavior to always store unknown attributes in the database #169

Closed osanay closed 4 months ago

osanay commented 4 months ago

Our application uses StoreModel with the serialize_unknown_attributes option set to false.

Previously, StoreModel versions prior to 2.1.1 always stored unknown attributes in the database. However, now, unknown attributes are not stored unless the serialize_unknown_attributes option is set to true. This change was inconvenient for us; therefore, we want to restore the behavior of storing unknown attributes in the database, regardless of the setting of the serialize_unknown_attributes option.

The fix was straightforward. Furthermore, to ensure this behavior does not break, I have improved the tests for the serialize method in each Type class.

However, this change will again alter the behavior of storing unknown attributes in the database. I considered adding an option to choose whether to store unknown attributes or not. The challenge, then, is deciding what the default value for this new option should be. Considering current users who have the serialize_unknown_attributes option enabled, the default should logically be to store. Ultimately, this would amount to a similar breaking change.

Nevertheless, it simply restores the behavior of the previous version.

DmitryTsepelev commented 4 months ago

LGTM! Maybe I'll just roll out a major release đŸ™‚