可用参数中缺少字段
Missing field in available args
我在尝试为用户设置种子时遇到问题 table。
我在其中的 User 和 UserSettings 模型之间存在一对一的关系。
async function generateUsers() {
const users = [];
for (let i = 0; i < randomUsersCount; i++) {
users[i] = {
first_name: faker.name.firstName(),
last_name: faker.name.lastName(),
email: faker.internet.email(),
password: await hashPassword('testtest'),
phone: faker.phone.phoneNumber('###-###-###'),
role: 'USER',
is_blocked: false,
user_settings : {
create: {
language: 'PL',
color: faker.internet.color(),
}
}
};
}
await prisma.user.createMany({
data: users,
});
}
错误信息:
Unknown arg `user_settings` in data.0.user_settings for type UserCreateManyInput. Available args:
type UserCreateManyInput {
id?: Int
first_name: String
last_name: String
email: String
phone: String
password: String
role: UserRoles
is_blocked?: Boolean
created_at?: DateTime
updated_at?: DateTime
}
但在我的模型中该字段存在:
model User {
id Int @id @default(autoincrement())
first_name String
last_name String
email String @unique
phone String
password String
role UserRoles
is_blocked Boolean @default(false)
created_at DateTime @default(now())
updated_at DateTime @updatedAt
user_settings UserSettings?
}
model UserSettings {
id Int @id @default(autoincrement())
language Languages
color String
user_id Int
user User @relation(fields: [user_id], references: [id])
}
当我打开 Prisma Studio 时,我可以在 table 中看到该列。
我哪里错了?
我有运行npx prisma generate
和npx prisma migrate
甚至npx prisma migrate reset
很多次,都没有成功。
您正在尝试使用不受支持的 nest createMany。
这是来自 documentation:
You cannot create or connect relations - you cannot nest create,
createMany, connect, connectOrCreate inside a top-level createMany
作为替代方案,我建议您在创建数据时在循环内创建用户。
async function generateUsers() {
const users = [];
for (let i = 0; i < randomUsersCount; i++) {
users[i] = {
first_name: faker.name.firstName(),
last_name: faker.name.lastName(),
email: faker.internet.email(),
password: await hashPassword('testtest'),
phone: faker.phone.phoneNumber('###-###-###'),
role: 'USER',
is_blocked: false,
user_settings : {
create: {
language: 'PL',
color: faker.internet.color(),
}
}
};
await prisma.user.create({
data: users[i],
});
}
}
我在尝试为用户设置种子时遇到问题 table。
我在其中的 User 和 UserSettings 模型之间存在一对一的关系。
async function generateUsers() {
const users = [];
for (let i = 0; i < randomUsersCount; i++) {
users[i] = {
first_name: faker.name.firstName(),
last_name: faker.name.lastName(),
email: faker.internet.email(),
password: await hashPassword('testtest'),
phone: faker.phone.phoneNumber('###-###-###'),
role: 'USER',
is_blocked: false,
user_settings : {
create: {
language: 'PL',
color: faker.internet.color(),
}
}
};
}
await prisma.user.createMany({
data: users,
});
}
错误信息:
Unknown arg `user_settings` in data.0.user_settings for type UserCreateManyInput. Available args:
type UserCreateManyInput {
id?: Int
first_name: String
last_name: String
email: String
phone: String
password: String
role: UserRoles
is_blocked?: Boolean
created_at?: DateTime
updated_at?: DateTime
}
但在我的模型中该字段存在:
model User {
id Int @id @default(autoincrement())
first_name String
last_name String
email String @unique
phone String
password String
role UserRoles
is_blocked Boolean @default(false)
created_at DateTime @default(now())
updated_at DateTime @updatedAt
user_settings UserSettings?
}
model UserSettings {
id Int @id @default(autoincrement())
language Languages
color String
user_id Int
user User @relation(fields: [user_id], references: [id])
}
当我打开 Prisma Studio 时,我可以在 table 中看到该列。
我哪里错了?
我有运行npx prisma generate
和npx prisma migrate
甚至npx prisma migrate reset
很多次,都没有成功。
您正在尝试使用不受支持的 nest createMany。 这是来自 documentation:
You cannot create or connect relations - you cannot nest create, createMany, connect, connectOrCreate inside a top-level createMany
作为替代方案,我建议您在创建数据时在循环内创建用户。
async function generateUsers() {
const users = [];
for (let i = 0; i < randomUsersCount; i++) {
users[i] = {
first_name: faker.name.firstName(),
last_name: faker.name.lastName(),
email: faker.internet.email(),
password: await hashPassword('testtest'),
phone: faker.phone.phoneNumber('###-###-###'),
role: 'USER',
is_blocked: false,
user_settings : {
create: {
language: 'PL',
color: faker.internet.color(),
}
}
};
await prisma.user.create({
data: users[i],
});
}
}