小编Pri*_*ega的帖子

Knex 迁移问题

我不确定问题是什么,但这个 knex 迁移失败了。尽管我是编写迁移的新手,但我坚信这个迁移文件是正确的。产生的错误如下

migration file "20190321113401_initial.js" failed
migration failed with error: alter table "meraki"."role_permissions" add constraint "role_permissions_role_id_foreign" foreign key ("role_id") references "roles" ("id") - relation "roles" does not exist
Run Code Online (Sandbox Code Playgroud)

代码如下。最初,这些迁移函数位于单独的文件中,我认为它失败了,因为这些文件没有同步执行,这导致我编写了一个文件。我不确定这是否有帮助,但是当我删除包含外键引用(UserRoles、RolePermissions、Tokens)的表的代码时,其余部分似乎正在工作。

'use strict';

exports.up = async knex => {
  // Create Schema
  await knex.raw('CREATE SCHEMA IF NOT EXISTS meraki');
  // Load Extensions
  await knex.raw('CREATE EXTENSION IF NOT EXISTS "uuid-ossp"');
  // Roles
  await knex.schema.withSchema('meraki').createTable('roles', table => {
    table
      .string('id')
      .primary()
      .defaultTo(knex.raw('uuid_generate_v4()'));
    table
      .string('name')
      .unique()
      .notNullable();
    table.string('description').notNullable();
    table.timestamps();
  });
  // Permissions
  await knex.schema.withSchema('meraki').createTable('permissions', …
Run Code Online (Sandbox Code Playgroud)

postgresql node.js knex.js

1
推荐指数
1
解决办法
7025
查看次数

标签 统计

knex.js ×1

node.js ×1

postgresql ×1