{"repo":"izelnakri/paper_trail","free":true,"listed":false,"github":"https://github.com/izelnakri/paper_trail","clone":"git clone https://github.com/izelnakri/paper_trail.git","description":"Track and record all the changes in your database with Ecto. Revert back to anytime in history.","language":"Elixir","stars":600,"topics":["database","versioning","elixir","ecto","papertrail","phoenix","history","audit-log"],"license":"MIT","category":"databases-storage","readme_excerpt":"Paper Trail Track and record all the changes in your database. Revert back to anytime in history. How does it work? PaperTrail lets you record every change in your database in a separate database table called . Library generates a new version record with associated data every time you run , or functions. Simply these functions wrap your Repo insert, update or destroy actions in a database transaction, so if your database action fails you won't get a new version. PaperTrail is assailed with hundreds of test assertions for each release. Data integrity is an important aim of this project, please refer to the strict mode if you want to ensure data correctness and integrity of your versions. For simpler use cases the default mode of PaperTrail should suffice. Example PaperTrail is inspired by the ruby gem . However, unlike the gem this library actually results in less data duplication, faster and more explicit programming model to version your record changes. The library source code is minimal and well tested. It is suggested to read the source code. Installation 1. Add paper trail to your list of dependencies in mix.exs : 2. Configure paper trail to use your application repo in config/config.exs : 3. Install and compile your dependency: 4. Run this command to generate the migration: You might want to edit the types for :item id or :originator id if you're using UUID or other types for your primary keys before you execute mix ecto.migrate . 5. Run the migration: Your application i","default_branch":null,"files":null,"tree":[],"storefront":"/r/izelnakri","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/izelnakri/paper_trail/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}