Documentation Cacheable Tables

From OpenPetra Wiki
Jump to navigation Jump to search

generate cached tables

Cacheable Tables are generated with:

nant generateORMCachedTables

define cached tables and lists

You can define in the file csharp/ICT/Petra/Definitions/CacheableTablesAndLists.yaml which tables or lists should be cached.

All cached tables are defined in one file. The first level is the module, the next deeper level is the submodule. After that, there is a different section for either tables that are straight from the database (DatabaseTables, eg. PMethodOfContact), and lists that are calculated with SQL or have added columns (CalculatedLists, eg. CountryListFromExistingLocations).

You can define the following attributes:

  • Comment: if you don't want the default description from petra.xml to be used in the enum comment in Shared, you can define your own comment here. You definitely should add a comment for all calculated lists since there is no default comment for them.
  • Enum: if the enum name should not be calculated from the table name (PMethodOfContact would become MethodOfContactList), you can specify an explicit enum name. eg. CurrencyCodeList for ACurrency

files affected by the generation of cached tables

  • in Petra/Shared, for each module there is a Petra/Shared/lib/M<Module>/Cacheable.cs file autogenerated
  • in Petra/Server, for each submodule there is a file autogenerated in Petra/Server/lib/M<Module>/<Submodule>.Cacheable.cs. If there is only one submodule, then the submodule name might be ommitted from the filename.

ManualCode adjustments