IDatastoreConfigurator instance API on the configurator passed to addModifications(). The techniques shown can be combined and adapted to any project-specific need.
Where customizations live
All project-specific customizations are defined in theaddModifications() method of DatastoreCustomisationsConfig at cvarc-application/src/main/java/com/activeviam/cvarc/application/cfg/DatastoreCustomisationsConfig.java. This class lives in your project’s cvarc-application module and is intended to be edited directly.
IDatastoreConfigurator exposes three families of operations:
- Field customizations — insert, append, update, and remove fields on existing stores.
- Reference mapping customizations — add or remove field mappings on existing references.
- Store configuration customizations — partitioning, chunk sizes, indexes, NUMA selector, duplicate-key handling, and other per-store settings.
Field customizations
Insert two fields into a store, after named fields
DatastoreConfigurator.PREPEND as the key to insert at the beginning of the store.
Append a vector field to the end of a store
Remove a field from a store
Update a field’s type or attributes
Reference mapping customizations
References between stores are created in the schema model classes (e.g.SADatastoreModelConfig.createReferences(...)). Use the configurator to add or remove individual mappings on those existing references — no need to redeclare the reference itself.
Add a field mapping to an existing reference
FieldMapping (com.activeviam.database.api.schema.ITableJoin.FieldMapping) takes the source field name and the target field name. FieldMapping.fromPair(IPair) is also available if you already have an IPair.
Remove field mappings from an existing reference
Store configuration customizations
IMutableStore (typically instantiated via MutableStoreConfig) holds per-store configuration settings — indexes, chunk size, partitioning, NUMA selector, duplicate-key handler, etc. — to be merged with the store’s default configuration.