generated from Avanade/avanade-template
-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathntangle.yaml
35 lines (35 loc) · 2.4 KB
/
ntangle.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# Documentation: https://github.com/Avanade/NTangle/blob/main/docs/generated/root.md
schema: Legacy # Defaults the schema for the non-CDC related tables.
cdcSchema: NTangle # Defines the name of the schema to be used for CDC-related artefacts.
cdcSchemaCreate: true # Indicates whether to create the CDC database schema via code-generation.
cdcEnable: false # Indicates whether to enable CDC for the referenced table(s) in the database (recommend managing explicitly).
eventSourceRoot: /database/cdc # Event source URI root prepended to all published events.
eventSubjectRoot: Legacy # Event subject root prepended to all published events.
outbox: true # Indicates to include the generation of the event outbox artefacts.
outboxSchemaCreate: true # Indicates whether to create the Outbox database schema via code-generation.
identifierMapping: false # Indicates to include the generation of the global identifier mapping artefacts.
excludeColumnsFromETag: [ RowVersion ] # Default list of columns to exclude from the generated ETag (exclude from version tracking).
//#if (implement_publisher_console)
service: HostedService # Create the entity-based "HostedService" type to be executed by the likes of a console application.
//#endif
//#if (implement_publisher_function)
service: Service # Create the entity-based "Service" type to be executed by the likes of an Azure Function.
//#endif
tables:
# Set up CDC-entity for primary table Legacy.Contact.
- { name: Contact, eventSubject: Contact, aliasColumns: [ ContactId^Id ],
joins: [
# Set up secondary CDC One-To-Many relationship from Legacy.Contact to Legacy.Address.
{ name: Address, excludeColumns: [ ContactId, AddressTypeId ], aliasColumns: [ AddressId^Id ],
on: [
{ name: ContactId }
]
},
# Set up non CDC inner join between Address and AddressType, and include only Code column as Type.
{ name: AddressType, joinTo: Address, type: Inner, includeColumns: [ Code ], aliasColumns: [ Code^Type ],
on: [
{ name: AddressTypeId }
]
}
]
}