Ciao lista,
nei mesi passati ho implementato un’extension per ActiveRecord
che implementa una Slowly-Changing Dimension di tipo 2, vale a
dire un sistema di temporal database basato su PostgreSQL >= 9.
Ogni modifica effettuata ad un record del database registrata
automaticamente in una tabella accessoria, conservando le date
di validit da → a; indexing spaziale usando i tipi di dati
geometrici offerti da PG (ultra-fast); schema methods per le
migrazioni e instance methods per prelevare la history di un
record as-of-time, tenendo in conto le associazioni (!) :-).
Il risultato ChronoModel: GitHub - ifad/chronomodel: Temporal PostgreSQL (9.4+) system with "flashback" framework for ActiveRecord (5.0+)
attualmente utilizzato dall’applicazione che sto realizzando,
con una buona test coverage e quasi tutto ci che serve per
gestire e presentare la history nella UI.
Il progetto sta raggiungendo la fase di maturit, ma ancora
un one-man project - quindi sono qui per pubblicizzarlo e
raccogliere i vostri commenti e/o contributi.
Grazie!