Skip to main content

Versioning

This page details the different types of version control in Prophecy, the stages of the visual workflow, and the relationship to Git.

Version control options

When you create a SQL project in Prophecy, you will have the option to select the Git Storage Model for the project. There are a few models to choose from.

Git Storage ModelDescription
SimpleProvides an intuitive visual workflow for project drafting and publication. Users all work on the same dev branch in the Git backend.
Normal (no forks)Enables the typical Git workflow aligned with DevOps best practices. Users all work in the same repository on different branches.
Fork per user(External Git only) Enables the typical Git workflow aligned with DevOps best practices. Users work on their own copy of the repository.

The following sections demonstrate the visual workflow for projects that use the Simple Git Storage Model. To view the workflow for normal Git, visit the section on Git in the documentation.

note

The way you use Git will also influence how you collaborate in Prophecy. To learn more, visit Real-time collaboration.

Workflow

The following sections describe the versioning workflow for the Simple Git Storage Model. In Simple mode, Prophecy creates a linear version history per project where you can audit changes, see collaborator activity, and revert to previous versions.

Save to draft

As you develop your project, Prophecy automatically preserves your changes. In addition, we recommend periodically saving your changes as drafts. Click Save to draft on the project canvas to do so.

ParametersDescription
Version descriptionSummarizes the changes made since the last saved version.
Changes since last savedLists all the entities that anyone adds, removes, or modifies since the last saved version.

Publish new version

When you publish a project, the new version becomes available for:

To learn more, visit our page on project publication.

Show version history

Prophecy tracks different versions of your project that you save and publish. You can access the version history from the project editor or within the project metadata.

From the version history, you can:

  • View modifications in each version.
  • View the author of each change.
  • Revert to previous versions.

Restore previous version

To restore a previous version:

  1. Open the project version history.
  2. Expand a version.
  3. Click on a specific saved version.
  4. Review the state of the project for this version and verify that you wish to restore it.
  5. Click Restore this version.

Powered by Git

As you move through the versioning workflow in your project, Prophecy actually maps these actions to Git processes in the backend. In other words, actions like saving, publishing, and restoring changes trigger Git commands. This is possible because all Prophecy projects are hosted on Git, regardless of the project's Git storage model (simple or normal).

The following diagram explains what each versioning action does in Git. If you connect to an external Git provider (rather than use Prophecy-managed Git), you can view how each action in is reflected in Git as you work on your project.

Simple Git

The table below reiterates the diagram.

Action in ProphecyAction in Git
Save to draft
  • Pull changes from the remote dev branch
  • Pull changes from the local main branch
  • Commit changes to local dev
  • Push changes to remote dev
Publish
  • Merge changes into local main
  • Add a Git Tag with the published version number
  • Push changes to remote main
Restore previous version
  • Run git reset --soft
  • Commit the changes to revert in dev
  • Push changes to remote dev branch
(Publish the project to merge to main)