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

細雨 ORM 速成課程

Barbara Streisand
發布: 2025-01-14 20:28:47
原創
505 人瀏覽過

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

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板