plainblack / ving

An opinionated web services starter for Nuxt3 that provides REST and per-field privileges out of the box.
https://plainblack.github.io/ving/
63 stars 7 forks source link

Drizzle error while manually setting a date column #178

Closed perlDreamer closed 2 months ago

perlDreamer commented 2 months ago

This line:

await Tickets.update.set({ updatedAt: log.date_updated, createdAt: log.date_created }).where(eq(Tickets.table.id, ticket.id));

Causes this error:

file:///Users/colinkuskie/TGCv/node_modules/drizzle-orm/mysql-core/columns/timestamp.js:28
    return value.toISOString().slice(0, -1).replace("T", " ");
                 ^

TypeError: value.toISOString is not a function
    at MySqlTimestamp.mapToDriverValue (file:///Users/colinkuskie/TGCv/node_modules/drizzle-orm/mysql-core/columns/timestamp.js:28:18)
    at file:///Users/colinkuskie/TGCv/node_modules/drizzle-orm/sql/sql.js:118:73
    at Array.map (<anonymous>)
    at SQL.buildQueryFromSourceParams (file:///Users/colinkuskie/TGCv/node_modules/drizzle-orm/sql/sql.js:71:32)
    at file:///Users/colinkuskie/TGCv/node_modules/drizzle-orm/sql/sql.js:93:21
    at Array.map (<anonymous>)
    at SQL.buildQueryFromSourceParams (file:///Users/colinkuskie/TGCv/node_modules/drizzle-orm/sql/sql.js:71:32)
    at file:///Users/colinkuskie/TGCv/node_modules/drizzle-orm/sql/sql.js:93:21
    at Array.map (<anonymous>)
    at SQL.buildQueryFromSourceParams (file:///Users/colinkuskie/TGCv/node_modules/drizzle-orm/sql/sql.js:71:32)

Node.js v20.12.0
perlDreamer commented 2 months ago

This is not a bug. You have to send it a Date object, not an ISO string. This code gets the job done:

const date_updated = new Date(Date.parse(log.date_updated));