DB Schema

Opening...

Select Tools -> DB Schema (or Menu for mobile, then DB Schema) to open the dialog.

When you select this, you may be asked "Do you want to save a copy of your data before you modify the specs?". There is a good reason for this... Changing the schema in the wrong way could cause you to lose data. The system is pretty tighly designed to make it as difficult as possible for this to happen, but it still may. So if you are changing the schema, a good process to follow is

  1. Save your data.
  2. Modify the schema.
  3. Check that your data is OK.
  4. If it is, then carry on doing whatever you were going to do.
  5. If it isn't, then shut down the application and Discard your changes. All will be good with the world.

So that question that it asks did have a purpose after all... Of course, it can be tricky about it. If you haven't made any changes to the data, or you just saved, then it knows that and won't bother asking you.

The Dialog

The dialog is split into 3 different areas:

  1. (On the left) - The list of Object Specs and Queries. If the entry starts with "OS:" then it is an Object Spec. If it starts with "Q:", then it is a Query. If you select one of the entries in the list, then it will be displayed in the upper-right area. If you double-click the entry, the spec edit dialog will open.
  2. (On the  right) - This displays the contents of the spec that is selected in the list. You cannot edit the specs from here (you have to double click in the list, or press the Edit button.
  3. (On the lower right) - The build results from the most recent build. When you are working on Object specs, it is a good idea to try building the schema from time to time (just to check if there are any errors). To do this, select Refresh. The results of the build will be shown in the lower right section.

The dialog has a number of toolbar buttons:

The Spec Edit Dialog

This dialog lets you change an Object Spec.

The Query Edit Dialog

This dialog is the same as the spec edit dialog, but works for queries instead.

Object Specs

See Object Specs

Queries

See Queries