Closed8

Remix x Cloudflare Workers x Prisma Data Proxy

isingising
$ npm install --save-dev prisma
$ npm install @prisma/client
$ npx prisma init --datasource-provider mysql
isingising

データソースはplanetscale
prisma data proxy経由でアクセスする

isingising
// .env
DATABASE_URL="mysql://planetscaleで生成した接続文字列"
isingising
$ PRISMA_CLIENT_ENGINE_TYPE=dataproxy npx prisma generate
isingising
// worker.build.js
const alias = require("esbuild-plugin-alias");

const isProd = process.env.NODE_ENV === "production";

require("esbuild")
  .build({
    entryPoints: ["./worker"],
    bundle: true,
    sourcemap: true,
    minify: isProd,
    outdir: "dist",
    define: {
      "process.env.NODE_ENV": `"${process.env.NODE_ENV ?? "development"}"`,
      "process.env.DATABASE_URL": `"${process.env.DATABASE_URL ?? ""}"`,
    },
    plugins: [
      alias({
        "@prisma/client": require.resolve("@prisma/client"),
      }),
    ],
  })
  .catch(() => process.exit(1));
このスクラップは2022/04/02にクローズされました