cds-mysql
v7.9.0
Published
mysql database adapter for cds
Readme
cds mysql
MySQL/MariaDBadapter for CAP Framework, this module is heavily inspired by the cds-pg module.
Setup
firstly, install npm packages
npm i cds-mysql mysql2setup the mysql database driver for cds -> edit the package.json > cds node (or .cdsrc.json)
{
"requires": {
"db": {
"kind": "mysql"
}
}
}create an .env file and put that into your local CDS project, then fill the database credential
CDS_REQUIRES_DB_CREDENTIALS_HOST=127.0.0.1
CDS_REQUIRES_DB_CREDENTIALS_PORT=3306
CDS_REQUIRES_DB_CREDENTIALS_DATABASE= # db name
CDS_REQUIRES_DB_CREDENTIALS_USER= # db user
CDS_REQUIRES_DB_CREDENTIALS_PASSWORD= # db user pwd!now, start the cds server (npx cds-serve), everything is ready!
[!TIP] read more about how to config database credential.
[!TIP] read more about how to setup database user.
in addition, please check cap-mysql-sflight to get the mysql version of official cap-sflight example, and it works well.
Advanced Documentation
please read the full long version Advanced Documentation to get more technical details.
Feature and RoadMap
- [x] fundamental
INSERT/UPDATE/DELETE/SELECTquery support- [x] support
UPSERTbyINSERT ... ON DUPLICATE KEY UPDATEstatement
- [x] support
- [x] deep insert for association/composition
- [x] deep create/update/query/delete test case
- [x]
fioridraft support- [x]
draftPrepare/draftEdit/draftActivatetest case
- [x]
- [x]
temporalaspect, but not support time-travel query - [x]
incrementIDauto incremental key aspect - [x]
preDeliveryCSV aspect- [x] migrate CSV on-demand (with option)
- [x] CSV migration with hash check
- [ ] care entity dependencies - the order of CSV import
- [x] full text search
- [x] schema migration optimization (ignore drop in some case)
- [ ] ignore column length reduce and with warning
- [x] model version, only incremental migration -
transparent migration
- [x]
@Core.Mediaattachment support - [x] localized data
- [x] multi tenancy
- [x] deploy model on-fly
- [x] create database on-demand
- [ ] user permission check
- [x] experimental
@sap/cds-mtxssupport -> document - behavior maybe changed later.- [x] extensibility (
pull/push)
- [x] extensibility (
- [x]
$expandnavigation - [x]
$filterwith canonical functions (concat/contains/substring) - [x] test with
mariadb 10,mysql 5/8 - [x] initial data provision by
CSV- [x] better migration type/column/name adaption
- [x] mysql index
- [ ] better error for not supported elements
- [x] automatically schema sync (when connection pool provision)
- [x] SELECT
FOR UPDATE/LOCK IN SHARE MODE- [ ]
NOWAITsupport - [ ]
SKIP LOCKEDsupport
- [ ]
- [x] better E2E document/sample - cap-mysql-sflight
- [ ] adapt new cds-dbs layer
- [ ] real stream adoption for binary
