霧雨 ORM クラッシュ コース

Barbara Streisand
Barbara Streisandオリジナル
2025-01-14 20:28:47582ブラウズ

Drizzle ORM Crash Course

導入

Drizzle ORM は、TypeScript 用のシンプルで軽量な ORM です。使いやすく、理解しやすいように設計されています。 MySQL データベースで使用するように設計されていますが、他のデータベースで動作するように簡単に拡張できます。

始めましょう

Drizzle ORM は PostgreSQL、MySQL、SQLite をサポートしています。このガイドでは MySQL に焦点を当てますが、概念はすべてのデータベースで同じです。
詳細については、Drizzle ORM

でご確認いただけます。

インストール

Drizzle ORM をインストールするには、npm からパッケージをインストールする必要があります。

npm i drizzle-orm pg dotenv
npm i -D drizzle-kit tsx @types/pg

npm i drizzle-orm pg dotenv - このコマンドは、Drizzle ORM パッケージ、pg パッケージ、および dotenv パッケージをインストールします。 pg パッケージは PostgreSQL のサポートに必要ですが、MySQL や SQLite には必要ありません。

npm i -D drizzle-kit tsx @types/pg - このコマンドは、Drizzle Kit パッケージ、tsx パッケージ、および @types/pg パッケージをインストールします。 Drizzle ORM が TypeScript で動作するには、Drizzle Kit パッケージが必要です。

構成

Drizzle ORM を構成するには、プロジェクトのルートに .env ファイルを作成する必要があります。このファイルには次の情報が含まれている必要があります:

DATABASE_URL=your-database-url

your-database-url をデータベースの URL に置き換えます。たとえば、MySQL を使用している場合、URL は次のようになります:

DATABASE_URL=mysql://username:password@localhost:3306/database

drizzle.config.ts ファイルで drizzle 構成をセットアップします。

import 'dotenv/config';
import { defineConfig } from 'drizzle-kit';

export default defineConfig({
  out: './drizzle',
  schema: './src/db/schema.ts',
  dialect: 'postgresql',
  dbCredentials: {
    url: process.env.DATABASE_URL!,
  },
});

 テーブルを作成する

データベースにテーブルを作成するには、schema.ts というファイルでスキーマを定義する必要があります。このファイルには次の情報が含まれている必要があります:

import { pgTable, unique, integer, varchar } from 'drizzle-orm/pg-core';
import { sql } from 'drizzle-orm';

export const users = pgTable(
  'users',
  {
    id: integer().primaryKey().generatedAlwaysAsIdentity({
      name: 'users_id_seq',
      startWith: 1,
      increment: 1,
      minValue: 1,
      maxValue: 2147483647,
      cache: 1,
    }),
    name: varchar({ length: 255 }).notNull(),
    age: integer().notNull(),
    email: varchar({ length: 255 }).notNull(),
  },
  (table) => {
    return {
      usersEmailUnique: unique('users_email_unique').on(table.email),
    };
  }
);

ID、名前、年齢、電子メールの 4 つの列を持つ users というテーブルを定義します。 id 列は自動インクリメントされる主キーであり、名前、年齢、電子メールの列は必須です。

 データベースに接続する

src/db ディレクトリにindex.ts ファイルを作成し、データベースへの接続を初期化します。

import 'dotenv/config';
import { drizzle } from 'drizzle-orm/node-postgres';

const db = drizzle(process.env.DATABASE_URL!);

.env ファイル内に DATABASE_URL がすでに定義されています。データベースへの接続にはdrizzle関数を使用しています。

 データの挿入

users テーブルにデータを挿入するには、db オブジェクトの insert メソッドを使用できます。

import { users } from './schema';

const user = await db.insert(users).values({
  name: 'John Doe',
  age: 30,
  email: '
});

db オブジェクトの insert メソッドを使用して、新しいユーザーを users テーブルに挿入しています。名前、年齢、電子メールのプロパティを持つオブジェクトをvaluesメソッドに渡します。

 データのクエリ

users テーブルのデータをクエリするには、db オブジェクトの select メソッドを使用できます。

npm i drizzle-orm pg dotenv
npm i -D drizzle-kit tsx @types/pg

db オブジェクトの select メソッドを使用して、users テーブルからユーザーをクエリしています。 where メソッドを使用して、id 列に基づいて結果をフィルター処理しています。

 データを更新する

users テーブルのデータを更新するには、db オブジェクトの update メソッドを使用できます。

DATABASE_URL=your-database-url

db オブジェクトの update メソッドを使用して、users テーブル内のユーザーを更新しています。 set メソッドを使用して age 列を 31 に設定し、where メソッドを使用して id 列に基づいて結果をフィルタリングしています。

 データの削除

users テーブルからデータを削除するには、db オブジェクトの delete メソッドを使用できます。

DATABASE_URL=mysql://username:password@localhost:3306/database

db オブジェクトで delete メソッドを使用して、users テーブルからユーザーを削除しています。 where メソッドを使用して、id 列に基づいて結果をフィルター処理しています。

結論

Drizzle ORM は、TypeScript 用のシンプルで軽量な ORM です。使いやすく、理解しやすいように設計されています。 MySQL データベースで使用するように設計されていますが、他のデータベースで動作するように簡単に拡張できます。詳細については、Drizzle ORM

でご確認いただけます。

ありがとう

このガイドをお読みいただきありがとうございます。お役に立てば幸いです。ご質問やご意見がございましたら、お気軽にご連絡ください。ぜひご連絡をお待ちしております。

以上が霧雨 ORM クラッシュ コースの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。