Heim > Web-Frontend > js-Tutorial > Drizzle ORM-Crashkurs

Drizzle ORM-Crashkurs

Barbara Streisand
Freigeben: 2025-01-14 20:28:47
Original
505 Leute haben es durchsucht

Drizzle ORM Crash Course

Einführung

Drizzle ORM ist ein einfaches, leichtes ORM für TypeScript. Es ist so konzipiert, dass es einfach zu bedienen und leicht zu verstehen ist. Es ist für die Verwendung mit MySQL-Datenbanken konzipiert, kann aber problemlos für die Arbeit mit anderen Datenbanken erweitert werden.

Legen Sie los

Drizzle ORM unterstützt PostgreSQL, MySQL und SQLite. Dieser Leitfaden konzentriert sich auf MySQL, die Konzepte sind jedoch für alle Datenbanken gleich.
Weitere Einzelheiten erfahren Sie auf Drizzle ORM

Installation

Um Drizzle ORM zu installieren, müssen Sie das Paket von npm installieren.

npm i drizzle-orm pg dotenv
npm i -D drizzle-kit tsx @types/pg
Nach dem Login kopieren
Nach dem Login kopieren

npm i drizzle-orm pg dotenv – Dieser Befehl installiert das Drizzle ORM-Paket, das pg-Paket und das dotenv-Paket. Das pg-Paket ist für die PostgreSQL-Unterstützung erforderlich, für MySQL oder SQLite jedoch nicht.

npm i -D drizzle-kit tsx @types/pg – Dieser Befehl installiert das Drizzle Kit-Paket, das tsx-Paket und das @types/pg-Paket. Das Drizzle Kit-Paket ist erforderlich, damit Drizzle ORM mit TypeScript funktioniert.

Konfiguration

Um Drizzle ORM zu konfigurieren, müssen Sie eine .env-Datei im Stammverzeichnis Ihres Projekts erstellen. Diese Datei sollte die folgenden Informationen enthalten:

DATABASE_URL=your-database-url
Nach dem Login kopieren
Nach dem Login kopieren

Ersetzen Sie Ihre-Datenbank-URL durch die URL Ihrer Datenbank. Wenn Sie beispielsweise MySQL verwenden, sollte die URL so aussehen:

DATABASE_URL=mysql://username:password@localhost:3306/database
Nach dem Login kopieren
Nach dem Login kopieren

Richten Sie die Drizzle-Konfiguration in Ihrer drizzle.config.ts-Datei ein.

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!,
  },
});
Nach dem Login kopieren

 Erstellen Sie eine Tabelle

Um eine Tabelle in Ihrer Datenbank zu erstellen, müssen Sie ein Schema in einer Datei namens schema.ts definieren. Diese Datei sollte die folgenden Informationen enthalten:

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),
    };
  }
);
Nach dem Login kopieren

Wir definieren eine Tabelle namens „Benutzer“ mit vier Spalten: ID, Name, Alter und E-Mail. Die ID-Spalte ist ein automatisch inkrementierender Primärschlüssel und die Spalten „Name“, „Alter“ und „E-Mail“ sind erforderlich.

 Stellen Sie eine Verbindung zur Datenbank her

Erstellen Sie eine index.ts-Datei im Verzeichnis src/db und initialisieren Sie die Verbindung zur Datenbank.

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

const db = drizzle(process.env.DATABASE_URL!);
Nach dem Login kopieren

Wir haben die DATABASE_URL bereits in der .env-Datei definiert. Wir verwenden die Drizzle-Funktion, um eine Verbindung zur Datenbank herzustellen.

 Daten einfügen

Um Daten in die Benutzertabelle einzufügen, können Sie die Einfügemethode für das Datenbankobjekt verwenden.

import { users } from './schema';

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

Wir verwenden die Einfügemethode für das Datenbankobjekt, um einen neuen Benutzer in die Benutzertabelle einzufügen. Wir übergeben ein Objekt mit den Eigenschaften „Name“, „Alter“ und „E-Mail“ an die Methode „values“.

 Daten abfragen

Um Daten aus der Benutzertabelle abzufragen, können Sie die Select-Methode für das Datenbankobjekt verwenden.

npm i drizzle-orm pg dotenv
npm i -D drizzle-kit tsx @types/pg
Nach dem Login kopieren
Nach dem Login kopieren

Wir verwenden die Select-Methode für das Datenbankobjekt, um einen Benutzer aus der Benutzertabelle abzufragen. Wir verwenden die Methode where, um die Ergebnisse basierend auf der ID-Spalte zu filtern.

 Daten aktualisieren

Um Daten in der Benutzertabelle zu aktualisieren, können Sie die Aktualisierungsmethode für das Datenbankobjekt verwenden.

DATABASE_URL=your-database-url
Nach dem Login kopieren
Nach dem Login kopieren

Wir verwenden die Update-Methode für das Datenbankobjekt, um einen Benutzer in der Benutzertabelle zu aktualisieren. Wir verwenden die Set-Methode, um die Altersspalte auf 31 zu setzen, und die Where-Methode, um die Ergebnisse basierend auf der ID-Spalte zu filtern.

 Daten löschen

Um Daten aus der Benutzertabelle zu löschen, können Sie die Löschmethode für das Datenbankobjekt verwenden.

DATABASE_URL=mysql://username:password@localhost:3306/database
Nach dem Login kopieren
Nach dem Login kopieren

Wir verwenden die Löschmethode für das Datenbankobjekt, um einen Benutzer aus der Benutzertabelle zu löschen. Wir verwenden die Methode where, um die Ergebnisse basierend auf der ID-Spalte zu filtern.

Abschluss

Drizzle ORM ist ein einfaches, leichtes ORM für TypeScript. Es ist so konzipiert, dass es einfach zu bedienen und leicht zu verstehen ist. Es ist für die Verwendung mit MySQL-Datenbanken konzipiert, kann jedoch problemlos für die Verwendung mit anderen Datenbanken erweitert werden. Weitere Einzelheiten erfahren Sie auf Drizzle ORM

Danke

Vielen Dank, dass Sie diesen Leitfaden gelesen haben. Ich hoffe, Sie fanden es hilfreich. Wenn Sie Fragen oder Feedback haben, können Sie sich gerne an mich wenden. Ich würde gerne von Ihnen hören.

Das obige ist der detaillierte Inhalt vonDrizzle ORM-Crashkurs. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage