Open2

T3-TruboでNext Postgresに接続する

たつおたつお

サンプルでは、Planet Scaleを使用していたが、Next Postgresを使用したかったので接続するまでのメモ

たつおたつお

一番詰まったのはここ。turborepoを使用していて、monorepoなので、そのままでは.envファイルを読むことができない。ここで、誰が環境変数を見に行くかというと、

index.ts
import { sql } from "@vercel/postgres";
import { drizzle } from "drizzle-orm/vercel-postgres";

import * as auth from "./schema/auth";
import * as post from "./schema/post";

export const schema = { ...auth, ...post };

export { pgSqlTable as tableCreator } from "./schema/_table";

export * from "drizzle-orm";

export const db = drizzle(sql);

// docs: [storage/packages/postgres at main · vercel/storage](https://github.com/vercel/storage/tree/main/packages/postgres)
migrate.ts
import { sql } from "@vercel/postgres";
import * as dotenv from "dotenv";
import { migrate } from "drizzle-orm/vercel-postgres/migrator";

import { db } from "./index";

dotenv.config({
  path: "../../.env",
});

await migrate(db, {
  migrationsFolder: "generated",
});

await sql.end();