sqlite 无法将输入值与字段错误- Prisma -Seed的任何允许的输入类型匹配

cetgtptt  于 2023-01-26  发布在  SQLite
关注(0)|答案(1)|浏览(104)

Running seed command tsx prisma/seed.ts ... it failed to create a post as it returns an error
→ 6 await prisma.habit.create( Failed to validate the query: Unable to match input value to any allowed input type for the field. Parse errors: [Query parsing/validation error at Mutation.createOneHabit.data.HabitCreateInput.created_at : A value is required but not set., Query parsing/validation error at Mutation.createOneHabit.data.HabitUncheckedCreateInput.created_at : A value is required but not set.] at Mutation.createOneHabit.data at Object.handleRequestError (/Users/luistigre/www/nlw/nlw/aulas/server/node_modules/@prisma/client/runtime/index.js:31941:13) at Object.handleAndLogRequestError (/Users/luistigre/www/nlw/nlw/aulas/server/node_modules/@prisma/client/runtime/index.js:31913:12) at Object.request (/Users/luistigre/www/nlw/nlw/aulas/server/node_modules/@prisma/client/runtime/index.js:31908:12) at PrismaClient._request (/Users/luistigre/www/nlw/nlw/aulas/server/node_modules/@prisma/client/runtime/index.js:32994:16) at main (/Users/luistigre/www/nlw/nlw/aulas/server/prisma/seed.ts:6:5) { code: 'P2009', clientVersion: '4.9.0', meta: { query_validation_error: 'Unable to match input value to any allowed input type for the field. Parse errors: [Query parsing/validation error at Mutation.createOneHabit.data.HabitCreateInput.created_at : A value is required but not set., Query parsing/validation error at Mutation.createOneHabit.data.HabitUncheckedCreateInput.created_at : A value is required but not set.]', query_position: 'Mutation.createOneHabit.data' }, batchRequestIdx: undefined }
An error occurred while running the seed command: Error: Command failed with exit code 1: tsx prisma/seed.ts
SCHEMA.PRISMA

generator client {
  provider = "prisma-client-js"
}

datasource db {
  provider = "sqlite"
  url      = env("DATABASE_URL")
}

generator erd {
  provider = "prisma-erd-generator"
}

model Habit {
  id         String   @id @default(uuid())
  title      String
  created_at DateTime

  dayHabits DayHabit[]
  weekDays  HabitWeekDays[]

  @@map("habits")
}

model HabitWeekDays {
  id       String @id @default(uuid())
  habit_id String
  week_day Int

  habit Habit @relation(fields: [habit_id], references: [id])

  @@unique([habit_id, week_day])
  @@map("habit_week_days")
}

model Day {
  id        String     @id @default(uuid())
  date      DateTime
  dayHabits DayHabit[]

  @@unique([date])
  @@map("days")
}

model DayHabit {
  id       String @id @default(uuid())
  day_id   String
  habit_id String

  day   Day   @relation(fields: [day_id], references: [id])
  habit Habit @relation(fields: [habit_id], references: [id])

  @@unique([day_id, habit_id])
  @@map("day_habits")
}

SEED.TS FILE

import { PrismaClient } from "@prisma/client";

const prisma = new PrismaClient()

async function main() {
    await prisma.habit.create({
        data: {
            title: 'Beber 2L de água',
            created_at: new Date('2023-01-10T00:00:00:000z')
        }
    })
    
}

main()
    .then(async () => {
        await prisma.$disconnect()
    })
    .catch(async (e) => {
        console.error(e)
        await prisma.$disconnect()
        process.exit(1)
    })

PACKAGE.JS

"prisma": {
      "seed": "tsx prisma/seed.ts"
  }

I was expecting it to be able to save into the database

eiee3dmh

eiee3dmh1#

尝试更改此:

created_at: new Date('2023-01-22T00:00.000z')

为此:

created_at: new Date('2023-01-22')

或者只输入以下命令来获取当前日期:

created_at: new Date()

函数new Date('2023 - 01 - 22T00:00.000z')返回无效日期,您可以通过在浏览器或节点执行的TS文件中运行console.log进行检查

相关问题