使用 adonis 迁移/nodejs 的表中的多个主键

ver*_*thS 2 migration node.js adonis.js

我有这张表:

BookUnit
-------------------
id PK
unit PK
sequence PK
book_id FK
Run Code Online (Sandbox Code Playgroud)

所以,我可以记录数据:

id: 1
unit: 1
sequence: 1

id: 2
unit: 1
sequence: 2
Run Code Online (Sandbox Code Playgroud)

我不能有超过一个重复

id: 3
unit: 1
sequence: 2
Run Code Online (Sandbox Code Playgroud)

所以,我需要创建一个包含 id、序列和单位的组合主键。

我尝试这样:

class BookUnitSchema extends Schema {
  up () {
    this.create('book_unit', (table) => {
      table.increments()
      table.integer('book_id').references('id').inTable('books').notNullable()
      table.integer('unit').notNullable().primary()
      table.integer('sequence').notNullable().primary()
      table.string('description')
      table.integer('qt_question')
      table.boolean('status').defaultTo(false)
      table.integer('user_id').references('id').inTable('users')
      table.timestamps()
    })
  }

  down () {
    this.drop('book_unit')
  }
}
Run Code Online (Sandbox Code Playgroud)

但我得到:

错误:不允许表“book_unit”有多个主键

我在文档示例中没有找到具有多个主键的...

Ami*_*var 5

你也使用初级

table.primary(['unit','sequence'])
Run Code Online (Sandbox Code Playgroud)

这对我有用
更多信息请访问knex.js