Postgresql 表上的插入或更新违反外键约束PSQL/Knex

Postgresql 表上的插入或更新违反外键约束PSQL/Knex,postgresql,foreign-keys,knex.js,Postgresql,Foreign Keys,Knex.js,这是我的第一个psql数据库。我在用knex 我有3个表:用户、用户帖子和用户评论。我想设置它,以便用户可以发布内容,也可以评论其他用户的帖子 当我对用户的评论进行种子设定时,会出现以下错误: 在表“users\u comments”上插入或更新违反外键约束 如何修改我的表以使users\u comment表接受外部post\u id键?还是有更好的方法让我与帖子和用户建立评论 用户表 table.increments(); table.string('username').notNullabl

这是我的第一个psql数据库。我在用knex

我有3个表:用户、用户帖子和用户评论。我想设置它,以便用户可以发布内容,也可以评论其他用户的帖子

当我对用户的评论进行种子设定时,会出现以下错误:

在表“users\u comments”上插入或更新违反外键约束

如何修改我的表以使users\u comment表接受外部post\u id键?还是有更好的方法让我与帖子和用户建立评论

用户表

table.increments();
table.string('username').notNullable().defaultTo('').unique();
table.string('email').notNullable().unique();
table.specificType('hashed_password', 'char(60)').notNullable();
table.timestamps(true, true);
用户发布表

table.increments();
table.integer('user_id')
 .notNullable()
 .references('id')
 .inTable('users')
 .onDelete('CASCADE')
 .index();
table.string('post_title').notNullable().defaultTo('');
table.string('post_content').notNullable().defaultTo('');
table.timestamps(true, true);
用户意见表

table.increments();
table.integer('user_id')
 .notNullable()
 .references('id')
 .inTable('users')
 .onDelete('CASCADE')
 .index();
table.integer('post_id')
  .notNullable()
  .references('id')
  .inTable('users_posts')
  .onDelete('CASCADE')
  .index();
table.string('comment_content').notNullable().defaultTo('');
table.timestamps(true, true);
用户对种子的评论:

    id: 1,
    user_id: 1,
    post_id: 1,
    comment_content:"...",
    created_at: new Date('2016-06-29 14:26:16 UTC'),
    updated_at: new Date('2016-06-29 14:26:16 UTC')

让它工作起来。对用户注释进行了这些更改

table.integer('user_id') 
 .notNullable() 
 .references('id') 
 .inTable('users') 
 .onDelete('CASCADE') 
 .index(); 
table.integer('id') 
 .notNullable() 
 .references('user_posts') 
 .onDelete('CASCADE') 
 .index();    
table.string('comment_content').notNullable().defaultTo('');
table.timestamps(true, true); 

让它工作起来。对用户注释进行了这些更改

table.integer('user_id') 
 .notNullable() 
 .references('id') 
 .inTable('users') 
 .onDelete('CASCADE') 
 .index(); 
table.integer('id') 
 .notNullable() 
 .references('user_posts') 
 .onDelete('CASCADE') 
 .index();    
table.string('comment_content').notNullable().defaultTo('');
table.timestamps(true, true);