Shared model

The shared development model allows all developers to work directly on the same database and commit changes to a common source control repository. This approach ensures that all users operate on the latest version of the database at all times.

Shared development model

Set up the shared model

1. Each developer installs dbForge Studio for SQL Server on their machine.

2. One developer links the database to source control and makes the initial commit, selecting the Shared development model.

Workflow

After the database schema is committed to source control, developers can begin making changes. The typical workflow is:

1. Make changes to the database.

2. Commit the changes to the repository.

Note

You don’t need to update the database with the latest changes from source control, as all developers work on the same shared database that already contains the most recent changes.

History

All changes made to the database are recorded in the repository.

For more information, see View Source Control history.

Conflict handling

If multiple developers make changes to the same object, only the last committed change is preserved. Changes made by others will be overwritten and cannot be recovered.

Tip

To avoid data loss from simultaneous edits, consider switching to the dedicated development model, which allows each developer to work in isolation.

Get latest feature

The shared model does not include a Get Latest feature. Since all developers are connected to the same live database, any changes committed to source control are immediately reflected in that environment. There is no need to pull remote updates.

Benefits and drawbacks

The table describes the benefits and drawbacks of the shared development model.

Benefits Drawbacks
Only one development database is needed, reducing infrastructure overhead.

Simplified setup and coordination.
Developers cannot safely test changes in isolation.

Conflicts are harder to detect and resolve.

Switch to the dedicated development model

1. Unlink the database from source control.

2. Create a new empty database to use as your dedicated copy.

Tip

Give the new database a name similar to the shared one for easier identification.

3. Link the new database to the same source control repository as the shared one.

4. Use Get Latest to update your dedicated copy with the current schema and data.