两个种子文件
const faker = require('faker')
exports.seed = (knex, Promise) => {
// Deletes ALL existing entries
return knex('posts')
.truncate()
.del()
.then(() => {
// Inserts seed entries
return knex('posts').insert([
{
id: 1,
title: faker.lorem.words(),
body: '12 - 10',
answers: '[12]',
user_id: 1
},
{
id: 2,
title: faker.lorem.words(),
body: '12 - 10 + 123',
answers: '[12]',
user_id: 1
},
{
id: 3,
title: faker.lorem.words(),
body: '12 - 10 / 901',
answers: '[12]',
user_id: 1
}
])
})
}
exports.seed = function(knex, Promise) {
// Deletes ALL existing entries
return knex('users')
.truncate()
.del()
.then(function() {
// Inserts seed entries
return knex('users').insert([
{ id: 1, email: 'george@stoplion', username: 'stoplion' },
{ id: 2, email: 'angelmcfood@gmail.com', username: 'testuser1' }
])
})
}
Posts
具有一个引用user_id
的{{1}}外键。
我想在每次测试之前截断所有数据和种子。但是出现此错误:
User.id
答案 0 :(得分:0)
这些种子的编写方式只能使它们运行以清理具有空users
和posts
表的数据库。
当数据库为空时,会发生以下情况:
一切都好
当表中有数据时会发生这种情况:
您应编写播种脚本,将所有相关数据添加到单个迁移文件中,该文件首先将两个表都截断,然后重新填充两个表。
基于表格拆分人口数据将不起作用