Description
The cds.sql.transitive_localized_views compiler option, which controlled whether the CDS compiler generated additional localized views that traversed association chains, has been removed in CDS compiler v7 (CDS 10). The option is silently ignored if present in configuration. Transitive localized views are no longer generated regardless of the setting. Projects that depended on these generated views for localization of associated entities must be adapted to use the supported localization mechanisms — typically direct localized element exposure or locale-aware projections in the service layer.
How to Check
- [ ] Run
cds envand search the output fortransitive_localized_views. - [ ] Search config files (
.cdsrc.json,package.jsoncdssection,.cdsrc.yaml) fortransitive_localized_views. - [ ] If found, set the option to
falsein a CDS 9 environment and verify the application still works correctly — this simulates the CDS 10 behavior before upgrading.
Migration Steps
Remove the option from all configuration files:
diff// package.json or .cdsrc.json { "cds": { "sql": { - "transitive_localized_views": true } } }Before removing the option, test with
transitive_localized_views: falsein CDS 9 to surface any localization regressions:json{ "cds": { "sql": { "transitive_localized_views": false } } }For any localization gaps that appear — associated entities whose localized text is no longer available — use explicit
localizedprojection in the service or CDL:diff// Expose localized texts explicitly rather than relying on transitive view generation service CatalogService { + entity Books as projection on db.Books { *, author.name as authorName : localized }; }
Notes
Set cds.sql.transitive_localized_views: false in the CDS 9 environment before upgrading to validate whether the application is affected. If no regressions appear, upgrading to CDS 10 requires only removing the config key. If regressions do appear, the localization must be handled explicitly in the data model or service layer.