Skip to content

[Bug]: Fields CLI and primary keys #2980

@JerryNixon

Description

@JerryNixon

What?

When you update a field, primary key defaults don't quite work when there are compound keys.

How?

This does work (this update re-sets the primary-key value)

dab add SeriesActors --source dbo.SeriesActors --source.type view --source.key-fields "Id,SeriesId" --permissions "anonymous:*" --description "Actors appearing in each series"
dab update SeriesActors --fields.name Id --fields.description "Actor id" --fields.primary-key true
dab update SeriesActors --fields.name SeriesId --fields.description "Series id" --fields.primary-key true
dab update SeriesActors --fields.name Actor --fields.description "Actor name" --fields.primary-key false
dab update SeriesActors --fields.name BirthYear --fields.description "Year of birth" --fields.primary-key false
dab update SeriesActors --fields.name Series --fields.description "Series name" --fields.primary-key false
      "fields": [
        {
          "name": "Id",
          "description": "Actor id",
          "primary-key": true // correct
        },
        {
          "name": "SeriesId",
          "description": "Series id",
          "primary-key": true // correct
        },
        {
          "name": "Actor",
          "description": "Actor name",
          "primary-key": false
        },
        {
          "name": "BirthYear",
          "description": "Year of birth",
          "primary-key": false
        },
        {
          "name": "Series",
          "description": "Series name",
          "primary-key": false
        }
      ],

This does not work (this update does not re-set the primary-key value)

dab add SeriesActors --source dbo.SeriesActors --source.type view --source.key-fields "Id,SeriesId" --permissions "anonymous:*" --description "Actors appearing in each series"
dab update SeriesActors --fields.name Id --fields.description "Actor id"
dab update SeriesActors --fields.name SeriesId --fields.description "Series id"
dab update SeriesActors --fields.name Actor --fields.description "Actor name"
dab update SeriesActors --fields.name BirthYear --fields.description "Year of birth"
dab update SeriesActors --fields.name Series --fields.description "Series name"
      "fields": [
        {
          "name": "Id",
          "description": "Actor id",
          "primary-key": true // correct
        },
        {
          "name": "SeriesId",
          "description": "Series id",
          "primary-key": false // problem
        },
        {
          "name": "Actor",
          "description": "Actor name",
          "primary-key": false
        },
        {
          "name": "BirthYear",
          "description": "Year of birth",
          "primary-key": false
        },
        {
          "name": "Series",
          "description": "Series name",
          "primary-key": false
        }
      ],

Metadata

Metadata

Assignees

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions