Dave Green


Stairway to Database Source Control

Stairway to Database Source Control Level 5: Working with Others (Distributed Repository)

This level starts with an overview of how versioning works in Git, a DVCS, and suggests a sensible database project versioning strategy. It then offers some simple, but illustrative, practical examples showing how to share database changes and deal gracefully with any conflicting changes.

You rated this post out of 5. Change rating

2016-05-18

1,474 reads

Stairway to Database Source Control

Stairway to Database Source Control Level 4: Getting a Database into Source Control (Distributed Repository)

Now that we have our database under source control, we will want to share our work with other developers. If we are in a centralized source control system, our changes may be committed straight into the central repository.

When we are working in a distributed system, it means pulling down any changes from other developers, addressing any areas of conflict, and pushing our changes up to allow others to benefit from our work. This allows our changes to be synchronized with the changes other developers have made.

This level is principally about setting up a distributed source control system, namely Git, and how to commit database development changes to a local repository, before pushing them into a remote 'central' repository for sharing with other developers.

The next level will delve a little deeper into Git's versioning mechanisms, and show some examples of how to share database changes during development, and how to deal with conflicting changes.

You rated this post out of 5. Change rating

2016-02-03

2,794 reads

Stairway to Database Source Control

Stairway to Database Source Control Level 3: Working With Others (Centralized Repository)

One of the main purposes of placing a database under source control, alongside the application code, is to allow team collaboration during development projects. The Version Control System (VCS) stores and manages all of the project files, maintaining an audit trail of what changed, and who made the change. Each team member can work on a file, or set of files, and submit their changes to the VCS to make them available to other team members. They can also inspect the VCS to discover recent changes made by other team members.

You rated this post out of 5. Change rating

2015-03-04

4,263 reads

Stairway to Database Source Control

Stairway to Database Source Control Level 2: Getting a Database into Source Control

In this level, we're going to continue the philosophy of learning by example, and get a database into our SVN repository. We will also consider our overall approach to source control for databases, and the manner in which our team will develop these databases, concurrently.

You rated this post out of 5. Change rating

2014-06-11

7,170 reads

Blogs

Blog a Day – Day 1: History of AI

By

it has been a year since i have not written much on the blog...

A New Word: on tenderhooks

By

on tenderhooks – adj. feeling the primal satisfaction of being needed by someone, which...

Ramblings about data communities and your contributions, no excuses

By

I have been active in the data community throughout my career. I have met...

Read the latest Blogs

Forums

A Quick Restore

By Steve Jones - SSC Editor

Comments posted to this topic are about the item A Quick Restore

Guarding Against SQL Injection at the Database Layer (SQL Server)

By tedo

Comments posted to this topic are about the item Guarding Against SQL Injection at...

Ola Hallengren Index Optimize Maintenance can we have data compression = page

By JSB_89

I have a quick question on Ola Hallengren Index Optimize Maintenance . Do we...

Visit the forum

Question of the Day

A Quick Restore

While doing some testing of an application, I wanted to reset my environment after doing some testing with this code:

USE DNRTest

BACKUP DATABASE DNRTest TO DISK = 'dnrtest.bak'
GO
/*
Bunch of stuff tested here
*/RESTORE DATABASE DNRTest FROM DISK = 'dnrtest.bak' WITH REPLACE
What happens if this runs, assuming the "bunch of stuff" isn't anything affecting the instance.

See possible answers