add warning strict cannot be false with SQL dbs

this is only for LB4
This commit is contained in:
Agnes Lin 2020-01-16 14:46:54 -05:00
parent b6f9e92ef8
commit ad3e1e8d8a
2 changed files with 5 additions and 3 deletions

View File

@ -178,11 +178,11 @@ There are a set of options to control the model definition.
- strict:
- true: Only properties defined in the model are accepted. Use this
mode if you want to make sure only predefined properties are accepted.
mode if you want to make sure only predefined properties are accepted. Relational databases only support this setting.
- false: The model will be an open model. All properties are accepted,
including the ones that not predefined with the model. This mode is useful
if the mobile application just wants to store free form JSON data to
a schema-less database such as MongoDB.
a schema-less database such as MongoDB. For relational databases, the value will be converted back to true.
- undefined: Default to false unless the data source is backed by a
relational database such as Oracle or MySQL.

View File

@ -826,7 +826,9 @@ DataSource.prototype.define = function defineClass(className, properties, settin
settings.strict = true;
}
if (settings.strict === false) {
settings.strict = 'throw';
console.warn("WARNING: relational database doesn't support {strict: false} mode." +
` {strict: true} mode will be set for model ${className} instead.`);
settings.strict = true;
}
}