首頁 >web前端 >js教程 >細雨 ORM 速成課程

細雨 ORM 速成課程

Barbara Streisand
Barbara Streisand原創
2025-01-14 20:28:47507瀏覽

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 需要 Drizzle Kit 套件才能與 TypeScript 搭配使用。

配置

要設定 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),
    };
  }
);

我們定義一個名為 users 的表,其中包含四個欄位:id、name、age 和 email。 id 欄位是自增主鍵,name、age、email 欄位是必填項目。

 連接到資料庫

在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 表中。我們將一個具有姓名、年齡和電子郵件屬性的物件傳遞給 value 方法。

 查詢數據

要從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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn