Skip to content

empty string is converted to empty object in LoopBack3 #560

Open
@KrautRock

Description

@KrautRock

Steps to reproduce

LookBack version: 3.28.0
loopback-connector-mysql version: 7.0.5

This bug occurred after we upgraded the version of loopback-connector-mysql from 4.1.0 to 7.0.5.

define a nullable property in lb3 model like this:

"properties": {
    "id": {
      "type": "string",
      "required": false,
      "length": 255,
      "precision": null,
      "scale": null,
      "default":null,
      "mysql": {
        "columnName": "id",
        "dataType": "VARCHAR",
        "dataLength": 255,
        "dataPrecision": null,
        "dataScale": null,
        "nullable": "Y"
      }
    }
}

And then simply get this model from lb.

Bbserved Result

If id is an empty string, it will be converted to empty object. If id is null or non-empty string, it will be returned directly.

Expected Behavior

Empty string shouldn't be converted to empty object, and should be returned directly as null or non-empty string.

Additional information

node -e 'console.log(process.platform, process.arch, process.versions.node)'

darwin arm64 20.9.0

npm ls --prod --depth 0 | grep loopback

npm WARN config production Use --omit=dev instead.
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    Status

    Icebox

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions