Version Control

The more time you spend working on your application, the more sophisticated and complex it will become. Therefore, there is a necessity to be able to conveniently manage all the product's versions to analyze the evolution of the application or to go back to a previous version if you find yourself at a dead end. That's why we created version control for models. We haven't implemented the Version Control for files.

Manual saves and autosaves

You can save your model manually by clicking the Save changes button.

Obviously, you don't have to do that after every change in your model – autosave is here to help you. Each modification triggers the autosave, so you don't have to worry about losing your progress. As every autosave is stored as a single version, it requires a lot of disk space and we can't hold all these versions until the end of the world, so they are stored according to these rules:

  • For the last 24 hours, every change is stored as a distinct version.
  • For the last week, the newest version from each hour is stored.
  • For the last month, the newest version from each day is stored.
  • For versions older than 38 days, only the newest version from each week is stored.

These rules don't apply for tagged versions.

Tags

Now, we're going to make some changes in an example diagram. For the sake of simplicity let's create a diagram with only one table.

First version of the users table

Let's set a tag "initial version" for what we have now. Click on the model name, and pick Set tag from the menu.

Type in the tag's name and click SET TAG.

Let's make a few more changes.

Second version of the users table

We've added here the birth_date column and named the version "added birth_date".

Third version of the users table

We've added here the birth_date column and named the version "added country". Each time you name a version, a confirmation pop-up will show up.

Confirmation pop-up

Reviewing versions

To review versions open your drive (click on the logo or the Documents button). Pick a model and open the Versions tab in the right panel.

Model versions

As you can see all your named versions are standing out now. You may easily change the name of the version or preview how it looked back then, by clicking on the drop-down menu icon. You may also add a tag to the autosave version here.

Context menu of versions

You may also save a chosen version as a separate model or export it as XML. This would be helpful if you'd want to restore a deleted table: you can edit out the copy made from the proper version, so it contains only the table you miss, download it as XML, and reimport it into the model.

If you forgot what was chaneged in the version, or simply forgot to set the tag, you can browse versions in the Preview mode. Just click on the Eye icon in the top bar, and this tab will open up:

Preview mode

You'll be able to pick a version from the list or use < and > buttons to see the previous or next version.

Branches

Version control in Vertabelo doesn't support making branches, but the similar effect can be achieved by cloning the model. Every version of your model may be turned into a completely new model by clicking Create new model from this version in its drop-down menu.