Comments (4)
For me the third option looks the most reasonable, however it might break some apps, using logidze already.
First two options are less reasonable (imho), because if there wasn’t a column at the certain point in time, so we shouldn’t pretend, that it was :)
Maybe we can implement first and third, and provide a switch between them for users.
What do you think, @palkan?
from logidze.
Maybe we can implement first and third, and provide a switch between them for users.
Yeah, that make sense. And make the third to be a default.
from logidze.
Btw, we can use AR missing attribute exception https://github.com/rails/rails/blob/8fd69db783b14dcdde92f4682b8d3c66bdbcb90b/activemodel/lib/active_model/attribute_methods.rb#L470
from logidze.
Hello @palkan and @charlie-wasp
Could you please help with this issue sharing your suggestions about way of solving it.
Adding new column (the same case if we change column white list and regenerate triggers) causes starting to track changes of it.
If I've got right, somewhere here we need to determine that we do not have changes of that column. (but how?) All the knowledge about tracking columns list is in the sql triggers so we do not have the way to get it in ruby directly (because it is known only as options when we generate the model table triggers.
One way is to configure tracking columns list in the model class with dsl, and then generate the migration with help of this data, so in this case we will be able to track the case when versions history do not have changes of some column.
from logidze.
Related Issues (20)
- Tracking changes on JSONB column error
- How to list all versions of a record? HOT 4
- Association versioning with ignore_log_data and at(version: ) doesn't return expected results HOT 5
- Partition-friendly logging (triggers) HOT 3
- JSONB column and switch_to! with append: true HOT 2
- PG::UndefinedFunction: ERROR: function hstore(model_name) does not exist HOT 1
- Meta per request HOT 1
- Logidze.ignore_log_data_by_default causing db:migrate errors HOT 2
- Responsible from different sources HOT 3
- Associations versioning - accessing versions with `at(version: #)` HOT 2
- How to tell logidze about a new column HOT 8
- GlobalID support for metadata
- `responsible_id` is not updated on relation with `touch: true` HOT 6
- reload_log_data doesn't work when used with acts_as_paranoid and deleted records HOT 2
- docs: logdize cannot set session meta data when using a connection pool HOT 1
- How can I get the last 100 versions of a model? regardless of the record HOT 2
- Saving log with only metadata changes HOT 1
- Not possible to use latest logidze and anyway_config with Ruby 3.3.0 HOT 1
- Make Sequel support independent from ActiveRecord and ActiveSupport
- Updating history when column names change HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from logidze.