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