Skip to content

Latest commit

 

History

History
75 lines (58 loc) · 1.98 KB

File metadata and controls

75 lines (58 loc) · 1.98 KB

import Tab from '@mdx/Tab.astro'; import Tabs from '@mdx/Tabs.astro'; import Npm from "@mdx/Npm.astro"; import Callout from '@mdx/Callout.astro'; import Steps from '@mdx/Steps.astro'; import AnchorCards from '@mdx/AnchorCards.astro'; import Prerequisites from "@mdx/Prerequisites.astro"; import CodeTabs from "@mdx/CodeTabs.astro"; import WhatsNextPostgres from "@mdx/WhatsNextPostgres.astro";

Drizzle <> CockroachDB

This page explains concepts available on drizzle versions `1.0.0-beta.2` and higher.
- Database [connection basics](/docs/connect-overview) with Drizzle - node-postgres [basics](https://node-postgres.com/)

Drizzle provides native support for CockroachDB via the standard node-postgres driver, leveraging its wire-protocol compatibility with PostgreSQL.

Step 1 - Install packages

drizzle-orm@beta pg -D drizzle-kit@beta @types/pg

Step 2 - Initialize the driver and make a query

<CodeTabs items={["node-postgres", "node-postgres with config"]}>

// Make sure to install the 'pg' package 
import { drizzle } from 'drizzle-orm/cockroach';

const db = drizzle(process.env.DATABASE_URL);
 
const result = await db.execute('select 1');
// Make sure to install the 'pg' package 
import { drizzle } from 'drizzle-orm/cockroach';

// You can specify any property from the node-postgres connection options
const db = drizzle({ 
  connection: { 
    connectionString: process.env.DATABASE_URL,
    ssl: true
  }
});
 
const result = await db.execute('select 1');

If you need to provide your existing driver:

// Make sure to install the 'pg' package 
import { drizzle } from "drizzle-orm/cockroach";
import { Pool } from "pg";

const pool = new Pool({
  connectionString: process.env.DATABASE_URL,
});
const db = drizzle({ client: pool });
 
const result = await db.execute('select 1');

What's next?