可用参数中缺少字段

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 generatenpx 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],
    });
  }

}