Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Version control of databases

I am curious if there are any solutions out there, preferably free, that can have a central database to publish data to in a versioned manner.

For example,

Client 1 decides to edit a persons profile so it gets a local copy on its machine to make changes to. When they are happy with there edit they publish the results to the central database. Just like how you would do a submit in perforce.

Client 2 tries to edit the same local copy but when they go to submit they have to resolve conflicts.

The central database must store compressed differences between versions of the data.

At any point someone can look at all versions of the data submitted.

like image 226
David Avatar asked Jul 01 '10 08:07

David


People also ask

What is version control in database?

Version Control protects production systems from uncontrolled change. The VCS acts as a guard against 'uncontrolled' database changes i.e. against direct changes to the code, structure, or configuration of a production database.

What is version control SQL?

SQL Source Control plugs into SQL Server Management Studio (SSMS) and links your databases to an existing version control system, such as Git, TFS or Subversion. This allows you to manage changes to database schema and static data alongside application code.


1 Answers

Check out OffScale DataGrove.

This product tracks changes to the entire DB - schema and data. You can tag versions in any point in time, and return to older states of the DB with a simple command. It also allows you to create virtual, separate, copies of the same database so each team member can have his own separate DB. All the virtual copies are tracked into the same repository so it's super-easy to revert your DB to someone else's version (you simply check-out their version, just like you do with your source control). This means all your DBs can always be synchronized.

Disclaimer - I work at OffScale :-)

like image 98
Taichman Avatar answered Nov 23 '22 20:11

Taichman