Dedicated model
Last modified: April 28, 2025
In this model, developers are working on their own local copy of the database and later commit changes to a centralized repository.
A local copy of a database is not created automatically when dbForge Source Control is linked to a database. You need to do it manually. It doesn’t matter where you create the local copy of the database: at your local computer or a remote one.
Setup
Firstly, all developers install dbForge Source Control on their machines so that they can all commit their changes.
Then, any of them needs to link the database to version control and make the initial commit.
It is required to specify the Dedicated Model mode when you link a database to a repository.
Next, the rest of the developers can then get the latest version of the committed database:
-
If developers already have their copies of the database, they can link them to the repository, and then get the latest changes.
-
If developers do not have their copies of the database, they need to create new empty databases, link them to the same repository, and then get the latest changes.
Workflow
Once all the developers have linked their copies of the database to the repository, the workflow is as follows:
- Get the latest changes from a version control repository to a database
- Make changes to a database
- Commit changes to a version control repository
It’s a best practice to Get Latest before you start working on changes. This makes it less likely that your changes will conflict with anyone else’s.
History
The repository contains all changes made. To learn how to view changes history for the entire database or separate database objects, refer to View Source Control history.
Conflicts
Sometimes, the changes made by several developers to the same object may be conflicting with each other. To learn how to resolve conflicts, refer to Resolve conflicts.
Benefits
-
The chance of overwriting the changes made by other developers is low, since all developers are working in their own isolated environments.
-
You can make changes of any complexity to the database. Event if your changes break other parts of the database, they will not have an effect on the work of other developers.
-
All the changes made are clearly visible.
Drawbacks
Databases must be maintained on the machines of all developers.