cds-mysql
v7.9.0
Published
mysql database adapter for cds
Downloads
242
Readme
cds mysql
MySQL
/MariaDB
adapter for CAP Framework, this module is heavily inspired by the cds-pg module.
Setup
firstly, install npm packages
npm i cds-mysql mysql2
setup 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
/SELECT
query support- [x] support
UPSERT
byINSERT ... ON DUPLICATE KEY UPDATE
statement
- [x] support
- [x] deep insert for association/composition
- [x] deep create/update/query/delete test case
- [x]
fiori
draft support- [x]
draftPrepare
/draftEdit
/draftActivate
test case
- [x]
- [x]
temporal
aspect, but not support time-travel query - [x]
incrementID
auto incremental key aspect - [x]
preDelivery
CSV 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.Media
attachment support - [x] localized data
- [x] multi tenancy
- [x] deploy model on-fly
- [x] create database on-demand
- [ ] user permission check
- [x] experimental
@sap/cds-mtxs
support -> document - behavior maybe changed later.- [x] extensibility (
pull
/push
)
- [x] extensibility (
- [x]
$expand
navigation - [x]
$filter
with 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
- [ ]
NOWAIT
support - [ ]
SKIP LOCKED
support
- [ ]
- [x] better E2E document/sample - cap-mysql-sflight
- [ ] adapt new cds-dbs layer
- [ ] real stream adoption for binary