effect
effect copied to clipboard
@effect/sql-drizzle returns a date when it should return a string
What version of Effect is running?
3.8.4
What steps can reproduce the bug?
import { Schema } from "@effect/schema";
import * as PgDrizzle from "@effect/sql-drizzle/Pg";
import "dotenv/config";
import { eq } from "drizzle-orm";
import { Effect } from "effect";
import { DatabaseLive } from "./database";
import { SelectUserSchema, userTable } from "./schema";
Effect.gen(function* () {
const db = yield* PgDrizzle.PgDrizzle;
const email = "[email protected]";
yield* db.delete(userTable).where(eq(userTable.email, email));
yield* db.insert(userTable).values({ email });
const user = (yield* db.select().from(userTable)).at(0);
if (user) {
console.log(typeof user.id, user.id);
console.log(typeof user.createdAt, user.createdAt);
console.log(typeof user.updatedAt, user.updatedAt);
console.log(typeof user.deletedAt, user.deletedAt);
Schema.decodeUnknownSync(SelectUserSchema)(user);
}
}).pipe(Effect.provide(DatabaseLive), Effect.runPromise);
What is the expected behavior?
When using drizzle-orm directly it outputs:
string user_b329aa7b399b4f5b8b11870f3b25f66d
string 2024-09-25 08:48:38.961462+02
string 2024-09-25 08:48:38.961462+02
object null
What do you see instead?
string user_b329aa7b399b4f5b8b11870f3b25f66d
object 2024-09-25T06:48:38.961Z
object 2024-09-25T06:48:38.961Z
object null
Additional information
https://github.com/amosbastian/effect-drizzle