Questions tagged [database-versioning]

Database versioning is the management and tracking of changes made to a database. All changes to scripts that define tables, procedures, triggers, views, indexes, sequences and other user defined objects are stored and versioned. Database versioning can also refer to the management and tracking of all database data where every Insert/Update/Delete operation is stored with intent to keep a permanent log of who performed which modifications.

Database versioning is the management and tracking of changes made to a database. All changes to scripts that define tables, procedures, triggers, views, indexes, sequences and other user defined objects are stored and versioned.

The date of the change, the user who made the change, and the content of that change is kept in a log for later review to enforce accountability for people making changes.

Database versioning can also refer to the management and tracking of all database data where every Insert/Update/Delete operation is stored with intent to keep a permanent log of who performed which modifications.

The purpose of database versioning is to assist in the detection and resolution of fraudulent or accidental modifications. With database versioning, hiding fraudulent modifications becomes more difficult. Without database versioning, accountability for who edited the database will be invisible and users committing fraudulent edits to the database can cover their tracks easily by making additional edits.

147 questions
333
votes
9 answers

Ways to implement data versioning in MongoDB

Can you share your thoughts how would you implement data versioning in MongoDB. (I've asked similar question regarding Cassandra. If you have any thoughts which db is better for that please share) Suppose that I need to version records in an simple…
Piotr Czapla
  • 25,734
  • 24
  • 99
  • 122
53
votes
2 answers

General-purpose databases that never delete or update data in-place

I'm very much inspired by the approach to data management advocated by Rich Hickey, and implemented in Datomic, where the data is never mutated in-place, all the versions are always preserved and query-able, and the time is a first-class concept. Of…
Ivan Krechetov
  • 18,802
  • 8
  • 49
  • 60
37
votes
5 answers

Database migrations in a complex branching system

In our current development workflow we have introduced database migrations (using Ruckusing) to keep our developers' db schema's in sync. It works great, is pretty straightforward in use but now we have switched to git as VCS we are facing the next…
ChrisR
  • 14,370
  • 16
  • 70
  • 107
23
votes
4 answers

CouchDB versioning strategy

Would the following be a viable strategy for implementing versioning(using "example" as a sample document type): Have one original document where the type field is named example_original. Subsequent changes to the document all have type…
mac
  • 9,885
  • 4
  • 36
  • 51
22
votes
7 answers

What is an easy way to deploy database changes using SQL Server?

The software system I work on is a medical billing system, large amounts of data and data tables, and stored procedures. I was reading the article "12 Steps to Better Code" and in The Joel Test #2 states: Can you make a build in one step? Now I was…
Brett Allen
  • 5,297
  • 5
  • 32
  • 62
20
votes
2 answers

Ways to implement data versioning in Cassandra

Can you share your thoughts how would you implement data versioning in Cassandra. Suppose that I need to version records in an simple address book. (Address book records are stored as Rows in a ColumnFamily). I expect that the history: will be…
Piotr Czapla
  • 25,734
  • 24
  • 99
  • 122
17
votes
1 answer

Tracking changes to all models in Django

I am working on a Django + DRF Web Application and I want to track changes to all model instances in the Database and keep a log of all changes made, namely: TABLE - Table to which record was added/modified FIELD - Field that was modified. PK_RECORD…
Divij Sehgal
  • 647
  • 2
  • 11
  • 26
16
votes
3 answers

Ways to implement data versioning in PostreSQL

Can you share your thoughts how would you implement data versioning in PostgreSQL. (I've asked similar question regarding Cassandra and MongoDB. If you have any thoughts which db is better for that please share) Suppose that I need to version…
Piotr Czapla
  • 25,734
  • 24
  • 99
  • 122
15
votes
1 answer

How to create a versioning/history/revision system for contents published by users?

After reading a lot of SO questions about Keeping page changes history or How to version control a record in a database (for example), I can't find a real elegant solution to do the work. Now, let's try to explain as clear as possible what we need,…
Valky
  • 1,856
  • 3
  • 20
  • 38
14
votes
2 answers

Object versioning in Rails, like Papertrail but individual tables

For a project I'm currently working on I need to implement object versioning. Unfortunately I need to keep a full history of each object, so a single table solution like Papertrail would quickly become un-manageable. There are features of…
Ben Zittlau
  • 2,345
  • 1
  • 21
  • 30
13
votes
5 answers

Database migrations for Entity Framework 4

I've been playing with Entity Framework 4, using the model driven approach to generate the database script from my entities. This is great but I'm not sure how this works when it comes to versioning the database. I'm guessing if I wanted to use an…
Charlie
  • 10,227
  • 10
  • 51
  • 92
12
votes
1 answer

Versioning documents in MongoDB

I want to add versioning to my documents in my MongoDB. Are there any best practices for versioning in MongoDB? And what's the simplestway to versioning documents in my MongoDB?
David Renz
  • 355
  • 3
  • 15
12
votes
5 answers

How do I version a SQL Server Database?

I need to put versions onto a SQL Server 2005 database and have these accessible from a .NET Application. What I was thinking is using an Extended Properties on the Database with a name of 'version' and of course the value would be the version of…
widmayer
  • 327
  • 5
  • 17
11
votes
1 answer

Explanation of Migrators (FluentMigrator)?

Could someone explain the concept of Migrators (specifically fluentmigrator)? Here are the (possibly confused) facts Ive gleaned on the subject: Is it a way to initially create then maintain updates for a database by way of versioning. The first…
user1838662
  • 503
  • 7
  • 17
11
votes
3 answers

How do you manage database revisions on a medium sized project with branches?

At work we have 4 people working together on a few different projects. For each project we each have a local copy we work on and then there is a development, staging, and live deployment, along with any branches we have (we use subversion). Our…
Greg
  • 7,233
  • 12
  • 42
  • 53
1
2 3
9 10