AdonisJs迁移解决方案

问题描述 投票:2回答:1

我想知道如何通过如下图所示的迁移来解决许多解决方案:DB relation diagram

u_id_user是用户表中的FK

u_g_id是唯一且自动递增

g_id_group是来自组的FK

代码示例:

class UserGroupsSchema extends Schema {
  up () {
    this.create('user_groups', (table) => {
      table.increments()
      table.integer('u_id_user')
      table.integer("g_id_group")
      table.timestamps()
    })
  }

另一个问题是,如果我运行迁移,它将创建类型为MyISAM的表,并且无法建立与该类型的关系。因此,如何将默认类型更改为InnoDB?

node.js database types migration adonis.js
1个回答
0
投票

从adonis.js documentation,您需要像这样定义模型:

const Model = use('Model')

class User extends Model {
  groups () {
    return this.belongsToMany('App/Models/Group')
  }
}

module.exports = User

之后,您可以像这样查询日期:

const user = await User.find(1)

const groups = await user
  .groups()
  .wherePivot('user_id', '=', user.id)
  .fetch()

我尚未测试代码,但这应该使您走上正确的轨道

© www.soinside.com 2019 - 2024. All rights reserved.