Skip to content

Applying the CCDD version 2 patch to a CCDD version 1 database.

Bryan Willis edited this page Feb 16, 2020 · 14 revisions

The CCDD-2 branch represents version 2 of the CCDD tool. How is version 2 different from version 1? In version 2 you will no longer have command arguments within the 'Command' table type instances. Instead there will be a column in the 'Command' table type instances for each individual command that stores the path to a 'Structure: Cmd Arg x' table type instance. This instance will contain all of the information for each argument of the command. An example of the new 'Command' table type with its default columns is shown below along with an example of the new 'Structure: Cmd Arg x' table type.

'Command' table type image

'Structure: Cmd Arg x' table type image

If you CCDDv1 database has extra columns in the 'Command' table type that you would like to preserve during the patch than you will need to move them to a location before the command argument columns. If they are before the command argument columns they will be added to the new 'Command' table type. If they are after the command argument columns they will be added to the new 'Structure: Cmd Arg x' table type. I have included examples of this behavior below.

If your 'Command' table type looked like the following image

Than your new 'Command' table type would look like image

And your 'Structure: Cmd Arg x' table type would look like image

This was most likely not what was intended as each argument would not have a 'Cmd CUI', 'OSMF CUIs' and a 'MSID' so they should go in the 'Command' table type and not the 'Structure: Cmd Arg x' table type.

So if your 'Command' table type instead looked like the following image

Than your new 'Command' table type would look like image

And your 'Structure: Cmd Arg x' table type would look like image

When you attempt to open a CCDDv1 database in CCDDv2 you will be asked to apply a patch to the database. If you select no it will stop trying to open the database. If you select yes it will backup the database before making any changes so that if something goes wrong no data is lost.

Another important note is that the JSON import/export functionality has been greatly changed in CCDDv2. You now have more options in regards to how and what you import/export including the ability to import/export entire databases by JSON. This allows you to easily track changes made to the database and can easily be uploaded to a git repo for version control of a database. This new functionality is detailed in the users guide for CCDDv2.

It is also important to note that if you decide to upgrade to version 2 you will have to make a few modifications to the scripts that are used alongside your database. If the script was looking for command argument data in the 'Command' tables than it will have to be changed so that it now looks in the correct 'Structure: Cmd Arg x' table.

Clone this wiki locally