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