{"ref":"capability:schema-evolution","page":"/capabilities/schema-evolution","json":"/capabilities/schema-evolution.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"schema-evolution","name":"Schema evolution","domain":"data-and-persistence","ecosystems":["cap"],"universal":true,"description":"Getting a model change into a database that already holds data, in every tenant, without losing any of it. Generating the initial schema and migrating one that already holds data are often treated as the same step.","short":"Getting a model change into a database that already holds data","core_coverage":{"state":"core-and-community","assessed_at":"2026-08-31","what_core_does":"cds deploy with delta handling for supported changes.","where_it_stops":"It stops at changes the compiler can derive. Anything destructive or reshaping — splitting a column, changing a key — needs a migration you write and sequence yourself.","community_adds":"Community tools diff a live schema against a reference and apply the change, as [cds-dbm](artifact:mikezaschka-cds-dbm) does on PostgreSQL with Liquibase, and its fork [cds-dbm](artifact:quadrio-cds-dbm) does for databases the core does not natively support. [@cap-js-community/common](artifact:cap-js-community-common) checks a model change for incompatibility before it is deployed. For SAP HANA, the delta is applied by [@sap/hdi-deploy](artifact:sap-hdi-deploy), the deployer cds deploy runs.","sources":[{"url":"https://cap.cloud.sap/docs/guides/databases/schema-evolution","title":"Schema Evolution","checked":"2026-08-31"}],"relationship":"narrow-by-design"},"history":[{"date":"2026-08-31","field":"core_coverage.state","from":"left-open-on-purpose","to":"core-and-community","reason":"States renamed to describe who is present rather than to interpret intent. left-open-on-purpose asserted a motive; core-and-community states a fact, with relationship carrying the intent separately."},{"date":"2026-10-26","field":"core_coverage.community_adds","from":"(absent)","to":"Community tools diff a live schema against a reference and apply the change; a migration check flags incompatible model changes; @sap/hdi-deploy applies the delta on SAP HANA.","reason":"Reassessed against the graph (check:capabilities): cds-dbm, its quadrio fork, @sap/hdi-deploy and the cap-js-community migration check arrived after the 2026-08-31 assessment and the block named none of them. The state stays core-and-community."}],"drafted_with_ai":true},"sap_delivery":{"door":"cap","all":{"built_in":[{"ref":"artifact:sap-cds","name":"@sap/cds","json":"/artifacts/sap-cds.json"}],"documented_pattern":[],"announced":[],"packages":[{"ref":"artifact:sap-cds-mtxs","name":"@sap/cds-mtxs","json":"/artifacts/sap-cds-mtxs.json"},{"ref":"artifact:sap-hdi-deploy","name":"@sap/hdi-deploy","json":"/artifacts/sap-hdi-deploy.json"}]},"by_flavor":{"node":{"built_in":[{"ref":"artifact:sap-cds","name":"@sap/cds","json":"/artifacts/sap-cds.json"}],"documented_pattern":[],"announced":[],"packages":[{"ref":"artifact:sap-cds-mtxs","name":"@sap/cds-mtxs","json":"/artifacts/sap-cds-mtxs.json"},{"ref":"artifact:sap-hdi-deploy","name":"@sap/hdi-deploy","json":"/artifacts/sap-hdi-deploy.json"}]},"java":null}},"edges":{"use_cases":[],"shared_tasks":[],"related_tasks":[],"options":[{"ref":"artifact:cap-js-community-common","name":"@cap-js-community/common","json":"/artifacts/cap-js-community-common.json","ecosystem":"cap","origin_ring":"community-org"},{"ref":"artifact:quadrio-cds-dbm","name":"@quadrio/cds-dbm","json":"/artifacts/quadrio-cds-dbm.json","ecosystem":"cap","origin_ring":"independent"},{"ref":"artifact:sap-cds","name":"@sap/cds","json":"/artifacts/sap-cds.json","ecosystem":"cap","origin_ring":"sap-official"},{"ref":"artifact:sap-cds-mtxs","name":"@sap/cds-mtxs","json":"/artifacts/sap-cds-mtxs.json","ecosystem":"cap","origin_ring":"sap-official"},{"ref":"artifact:sap-hdi-deploy","name":"@sap/hdi-deploy","json":"/artifacts/sap-hdi-deploy.json","ecosystem":"cap","origin_ring":"sap-official"},{"ref":"artifact:mikezaschka-cds-dbm","name":"cds-dbm","json":"/artifacts/mikezaschka-cds-dbm.json","ecosystem":"cap","origin_ring":"independent"}],"samples":[],"explained_by":[{"ref":"content:sap-developer-new-july-3rd-2026","name":"SAP Developer New, July 3rd 2026","json":"/content/sap-developer-new-july-3rd-2026.json"},{"ref":"content:hana-database-migration-handling-incompatible-changes","name":"HANA Database Migration: Handling Incompatible Changes to Existing Tables","json":"/content/hana-database-migration-handling-incompatible-changes.json"},{"ref":"content:run-and-deploy-cap-nodejs-or-java-with-postgresql-on-cloud-foundry","name":"Run and Deploy SAP CAP (Node.js or Java) with PostgreSQL on SAP BTP Cloud Foundry","json":"/content/run-and-deploy-cap-nodejs-or-java-with-postgresql-on-cloud-foundry.json"},{"ref":"content:migrating-an-on-prem-xsa-cds3-solution-to-cds6-and-sqlite","name":"How I migrated my on-prem xsa cds3+hana solution to cds6+sqlite","json":"/content/migrating-an-on-prem-xsa-cds3-solution-to-cds6-and-sqlite.json"},{"ref":"content:sap-cap-recent-enhancements-the-hana-dev-should-know-about","name":"SAP CAP Recent Enhancements the HANA Dev Should Know About","json":"/content/sap-cap-recent-enhancements-the-hana-dev-should-know-about.json"}],"normative_context":[]}}