drizzle-team / drizzle-kit-mirror

Docs and issues repository for drizzle-kit
289 stars 17 forks source link

I can not start studio using ssl #164

Open salemkode opened 1 year ago

salemkode commented 1 year ago

my config

import type { Config } from "drizzle-kit";
import * as dotenv from "dotenv";
dotenv.config();

export default {
  schema: "./src/db/schema.ts",
  out: "drizzle",
  driver: "pg",
  dbCredentials: {
    connectionString: process.env.DATABASE_URL,
    ssl: true,
  },
} satisfies Config;

And I have this error

Drizzle Studio is up and running on http://0.0.0.0:4983
error: connection is insecure (try using `sslmode=require`)
    at Parser.parseErrorMessage (/home/salemkode/Project/things/node_modules/.pnpm/drizzle-kit@0.19.13/node_modules/drizzle-kit/index.cjs:40722:98)
    at Parser.handlePacket (/home/salemkode/Project/things/node_modules/.pnpm/drizzle-kit@0.19.13/node_modules/drizzle-kit/index.cjs:40563:25)
    at Parser.parse (/home/salemkode/Project/things/node_modules/.pnpm/drizzle-kit@0.19.13/node_modules/drizzle-kit/index.cjs:40487:34)
    at Socket.<anonymous> (/home/salemkode/Project/things/node_modules/.pnpm/drizzle-kit@0.19.13/node_modules/drizzle-kit/index.cjs:40763:44)
    at Socket.emit (node:events:513:28)
    at addChunk (node:internal/streams/readable:324:12)
    at readableAddChunk (node:internal/streams/readable:297:9)
    at Readable.push (node:internal/streams/readable:234:10)
    at TCP.onStreamRead (node:internal/stream_base_commons:190:23) {
  length: 73,
  severity: 'ERROR',
  code: 'XX000',
  detail: undefined,
  hint: undefined,
  position: undefined,
  internalPosition: undefined,
  internalQuery: undefined,
  where: undefined,
  schema: undefined,
  table: undefined,
  column: undefined,
  dataType: undefined,
  constraint: undefined,
  file: undefined,
  line: undefined,
  routine: undefined
}
justinmpier commented 9 months ago

The following worked for me:

Setting ssl: true, inside dbCredentials inside drizzle.config.ts

y-okamoto-1113 commented 3 months ago

I also suffered from the same error 😢 With the following settings, I was able to connect to https://local.drizzle.studio/ from my local development environment without any certificates 😉

/drizzle.config.ts

import { defineConfig } from "drizzle-kit";

const { ENV, DB_HOST, DB_USER, DB_PASSWORD, DB_NAME } = process.env;
if (!ENV || !DB_HOST || !DB_USER || !DB_PASSWORD || !DB_NAME) {
  throw new Error(
    "Environment Variables are invalid",
  );
}

const sslOption = ENV === "development" ? { rejectUnauthorized: false } : true;
export default defineConfig({
  schema: "./backend/db/schema/*",
  out: "./drizzle",
  dialect: "postgresql",
  dbCredentials: {
    host: DB_HOST,
    user: DB_USER,
    password: DB_PASSWORD,
    database: DB_NAME,
    ssl: sslOption,
  },
});

i hope this will help 👍