【发布时间】:2019-06-22 07:21:18
【问题描述】:
我想用 JSON 文件中的一些数据来为我的数据库播种
//continent-data.json
[
{
"continent": "far east",
"imageURL": "#"
},
{
"continent": "ASIA",
"imageURL": "#"
},
]
这是我的 seed.js 文件
//seed.js
const dotenv = require('dotenv');
const { Prisma } = require('./src/generated/prisma-client');
const continentData = require('./continent-data.json');
dotenv.config();
const db = new Prisma({
secret: process.env.PRISMA_SECRET,
endpoint: process.env.PRISMA_ENDPOINT
});
const seedContinents = () => {
// adding continents to the data
Promise.all(
continentData.map(async continentItem => {
const { imageURL, continent } = continentItem;
const response = await db.createContinent({
data: {
name: continent || 'default name',
imageURL,
}
});
return response;
})
);
};
seedContinents();
当我运行node seed.js
它失败并抛出以下错误
UnhandledPromiseRejectionWarning:错误:“ContinentCreateInput!”类型的变量“$data”预期值但得到:{"data":{"name":"far east","imageURL":"#","destinations":[]}}。原因:'name' 预期的非空值,发现为空。
我相信我正在以正确的格式传递正确的数据。但它说名称字段有一个空值。但是错误消息本身说名称字段有一个字符串值“远东”
我也提供了 Prisma 架构的必要部分。
【问题讨论】: