Skip to content

@happ-integ/drizzle

Drizzle ORM интеграция для Neon PostgreSQL.

Установка

bash
pnpm add @happ-integ/drizzle drizzle-orm @neondatabase/serverless

Использование

Инициализация

typescript
import { createDrizzleClient } from "@happ-integ/drizzle";

const db = createDrizzleClient();

Запросы

typescript
import { users } from "@happ-integ/drizzle";
import { eq } from "drizzle-orm";

// Получить всех пользователей
const allUsers = await db.select().from(users);

// Фильтр
const activeUsers = await db.select().from(users).where(eq(users.status, "active"));

// Вставить
await db.insert(users).values({
	name: "John",
	email: "john@example.com",
});

// Обновить
await db.update(users).set({ status: "inactive" }).where(eq(users.id, 1));

// Удалить
await db.delete(users).where(eq(users.id, 1));

Типы

typescript
import { users, type User } from "@happ-integ/drizzle";

const user: User = await db.query.users.findFirst();

API

createDrizzleClient()

typescript
export function createDrizzleClient(): DrizzleDB;

Требует: DATABASE_URL переменную.

Экспорты

  • DrizzleDB — тип БД
  • Таблицы из ./schema — например users

Требуемая переменная

bash
DATABASE_URL=postgresql://user:password@host/database

Когда использовать

  • ✅ Type-safe queries
  • ✅ Сложные операции с PostgreSQL
  • ✅ ORM функциональность
  • ❌ Простые CRUD — используйте @happ-integ/neon

Документация Drizzle

https://orm.drizzle.team/docs/overview