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
10
votes
2 answers

API Versioning and Storing Data

When exposing different API versions how do you handle storing and retrieving data that might have different structures? Let's say we have two API versions; V1 and V2. V1 and V2 both have a POST endpoint at 'https://api.com/message' which will…
Rob Evans
  • 6,750
  • 4
  • 39
  • 56
9
votes
2 answers

Liquibase - Add defaultValueComputed as CURRENT_TIMESTAMP to timestamp column

I am using liquibase 3.5.3 to run liquibase update command on MySql 5.5. I have below changeSet to create a table which has a column as Created_Time that should have a default value as CURRENT_TIMESTAMP.
Suraj Prajapati
  • 93
  • 1
  • 1
  • 4
9
votes
2 answers

Database Version / Change Control for Data not Schema?

After reading a few articles here and around, I have realised that database version control in a development team is actually of high importance. Until now I have been using a simple dump whole database each time there is an update, if only 1 table…
tread
  • 10,133
  • 17
  • 95
  • 170
9
votes
1 answer

Combine Hibernate's automatic schema creation and database versioning

I have an application where Hibernate creates all my table schemata whenever the application is run on a machine for the first time. This works nicely. Now I was however wondering if Hibernate has some sort of mechanism to keep the database under…
Rafael Winterhalter
  • 42,759
  • 13
  • 108
  • 192
8
votes
1 answer

Structuring a Web API Stack for Versioning

So I've spent the past few hours trolling through all the genuinely fantastic advice for Web API Versioning. Some of my favourites, for those having as much fun as I am, in no particular order: Best practices for API versioning? Versioning REST API…
8
votes
4 answers

Database versioning in installed applications using Delphi

I'm working on a number of Delphi applications that will need to upgrade their own database structures in the field when new versions are released and when users choose to install additional modules. The applications are using a variety of embedded…
Larry Lustig
  • 49,320
  • 14
  • 110
  • 160
7
votes
11 answers

Starting with versioning mysql schemata without overkill. Good solutions?

I've arrived at the point where I realise that I must start versioning my database schemata and changes. I consequently read the existing posts on SO about that topic but I'm not sure how to proceed. I'm basically a one man company and not long ago…
markus
  • 40,136
  • 23
  • 97
  • 142
7
votes
2 answers

Magento: How can I migrate configuration changes from development to production environment?

We are actively developing modules and when we push the changes to our production site, there are usually several configuration changes we need to make. Would be nice to automate this...thoughts?
Nick
  • 71
  • 3
7
votes
2 answers

How to create temporary tables in Hibernate?

Goal Invoke a CREATE TEMPORARY TABLE statement in Hibernate without using native SQL. That means using HQL or Hibernate APIs only. Save objects to the temporary table. Invoke a stored procedure which makes use of existing tables and the temporary…
7
votes
2 answers

How to implement Auditing/versioning of Table Modifications on PostgreSQL

We're implementing a New system using Java/Spring/Hibernate on PostgreSQL. This system needs to make a copy of Every Record as soon as a modification/deletion is done on the record(s) in the Tables(s). Later, the Audit Table(s) will be queried by…
anjanb
  • 12,999
  • 18
  • 77
  • 106
7
votes
2 answers

Rails 3.2 app - Should I use a versioning gem (paper_trail or vestal_versions) or handle it manually?

My question: Should I roll my own model versioning or use one of the versioning gems that's already out there? If I should use a gem, which one seems best for this application? Info about my app My app is a simple Checklist app. There are Checklists…
7
votes
2 answers

Basic mysql versioning?

We have a shopping cart as pictured below, The setup works well, except for one fatal flaw. If you place an order the order is linked to a product, so If I update the product after you have purchased the product there is no way for me to show you…
Hailwood
  • 89,623
  • 107
  • 270
  • 423
6
votes
2 answers

Database change management tools?

We are currently in the process of solidifying a database change management process. We run MySql 5 running on RedHat 5. I have selected LiquiBase as the tool because it's open source and allows us to expand its functionality later if needed. It…
6
votes
2 answers

Using multiple FluentMigrator assemblies on same database

Let's say I have two independent tables in the same database, tables Book and Cup. I create both with just primary keys (int), called Id. Then, to keep things tidy, I separate them into different projects and create FluentMigrations for both, which…
bobblez
  • 1,340
  • 20
  • 35
6
votes
9 answers

Database Change Management using hand generated scripts

My need is fairly basic and I don't want to rebuild the wheel. I like to script my database and have written scripts to update it from one version to the next ie 001-create-tables.sql, 002-alter-column.sql etc. What I want is a simple tool…
runxc1 Bret Ferrier
  • 8,096
  • 14
  • 61
  • 100
1
2
3
9 10