You may not believe it but the items in this picture are not just kids’ toys; they are important parts of the software development process! We call them “database tokens.”
When there are multiple developers on the project and you are not creating a few java classes for yourself, you need a versioning system which stores files with the source code. We use GIT, which allows developers to work simultaneously on the same module or even on the same Java file.
But what about the database model? When two database architects simultaneously make changes to the model using desktop database modeling tools on their workstations, you will probably have problems trying to merge changes into one consistent model.
To avoid such a problem, database designers use “database tokens.” They are physical items, usually colorful small toys, which are easy to find on the desk. There is one token for each database model (in practice for each project). When you want to make changes in your database schema, you need to take a token from another designer and you can work on the database structure as long as you have the token on your desk. Before you give the token to another designer, you have to commit your changes and “push” them to the main GIT repository. If something fails, e.g., you start to edit the database model without having the token on your desk, then there is a conflict during commit and you have to make you changes once again.
How does Vertabelo handle database model sharing? You can share a model, but there is still the limitation that only one user can edit it at any given time. If you want to make changes, you just click “take control” and other users will work in read-only mode when they attempt to access the model. And your “database tokens” will become just toys again, and you may give them back to your children :).