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.

Manual saves and autosaves

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

Obviously, we don’t force you 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 the rules below:

  • 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.

Tags

Now, we’re going to make some changes in a shop diagram.

Let’s start with adding the new column date_of_birth to the Client table.

For each version of your model you can set the name (tag) describing the changes made there. The most important thing about tagged versions is that they will never be deleted. As we consider adding a new column to be a quite important modification, we will set a tag for this version.

The tag name should shortly describe improvements in the current version.

Another thing we’re going to do with the diagram is add a date column to the Purchase table.

Model versions

Now, let’s move to the dashboard and then to the Details of our model. Here, we will take a look at Model versions.

To see the versions stored by autosave, you have to check Show autosaved versions.

The last thing we did with our model was add a new column. Let’s say that a few moments later we have figured out that this modification was important enough to set a tag for it. Fortunately, for every stored version in Vertabelo we can assign a tag in Model versions, even if we did lots of changes and created multiple new versions after that. To check if the version is the one we’re looking for we need to use Preview.

To navigate between versions you can use either the drop-down menu or buttons with arrows.

As we already know the version we were looking for, we can assign a tag to it.

Each version is also provided with a few different features, which can be accessed by More… drop-down menu.

  • Export to XML – exports the selected version to XML.
  • Create new model from this version – discussed in the next section.
  • Delete version – deletes the selected version from the Model versions.
  • Restore version – sets the selected version as the current one of the model. Obviously, it doesn’t delete versions created after the restored one; they are still held in the Model versions.

Clones

Version control in Vertabelo doesn’t support making branches, but the similar effect can be achieved using clones. 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.