Maison > interface Web > js tutoriel > Cours intensif ORM Bruine

Cours intensif ORM Bruine

Barbara Streisand
Libérer: 2025-01-14 20:28:47
original
505 Les gens l'ont consulté

Drizzle ORM Crash Course

Introduction

Drizzle ORM est un ORM simple et léger pour TypeScript. Il est conçu pour être simple à utiliser et facile à comprendre. Il est conçu pour être utilisé avec les bases de données MySQL, mais peut être facilement étendu pour fonctionner avec d'autres bases de données.

Commencer

Drizzle ORM prend en charge PostgreSQL, MySQL et SQLite. Ce guide se concentrera sur MySQL, mais les concepts sont les mêmes pour toutes les bases de données.
Vous pouvez obtenir plus de détails sur Drizzle ORM

Installation

Pour installer Drizzle ORM, vous devez installer le package depuis npm.

npm i drizzle-orm pg dotenv
npm i -D drizzle-kit tsx @types/pg
Copier après la connexion
Copier après la connexion

npm i drizzle-orm pg dotenv - Cette commande installe le package Drizzle ORM, le package pg et le package dotenv. Le package pg est requis pour la prise en charge de PostgreSQL, mais il n'est pas requis pour MySQL ou SQLite.

npm i -D drizzle-kit tsx @types/pg - Cette commande installe le package Drizzle Kit, le package tsx et le package @types/pg. Le package Drizzle Kit est requis pour que Drizzle ORM fonctionne avec TypeScript.

Configuration

Pour configurer Drizzle ORM, vous devez créer un fichier .env à la racine de votre projet. Ce fichier doit contenir les informations suivantes :

DATABASE_URL=your-database-url
Copier après la connexion
Copier après la connexion

Remplacez your-database-url par l'URL de votre base de données. Par exemple, si vous utilisez MySQL, l'URL devrait ressembler à ceci :

DATABASE_URL=mysql://username:password@localhost:3306/database
Copier après la connexion
Copier après la connexion

Configurez la configuration de bruine dans votre fichier drizzle.config.ts.

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!,
  },
});
Copier après la connexion

 Créer un tableau

Pour créer une table dans votre base de données, vous devez définir un schéma dans un fichier appelé schema.ts. Ce fichier doit contenir les informations suivantes :

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),
    };
  }
);
Copier après la connexion

Nous définissons un tableau appelé utilisateurs avec quatre colonnes : identifiant, nom, âge et email. La colonne id est une clé primaire à incrémentation automatique et les colonnes nom, âge et e-mail sont obligatoires.

 Connectez-vous à la base de données

Créez un fichier index.ts dans le répertoire src/db et initialisez la connexion à la base de données.

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

const db = drizzle(process.env.DATABASE_URL!);
Copier après la connexion

Nous avons déjà défini la DATABASE_URL dans le fichier .env. Nous utilisons la fonction bruine pour nous connecter à la base de données.

 Insérer des données

Pour insérer des données dans la table des utilisateurs, vous pouvez utiliser la méthode d'insertion sur l'objet db.

import { users } from './schema';

const user = await db.insert(users).values({
  name: 'John Doe',
  age: 30,
  email: '
});
Copier après la connexion

Nous utilisons la méthode insert sur l'objet db pour insérer un nouvel utilisateur dans la table des utilisateurs. Nous transmettons un objet avec les propriétés nom, âge et e-mail à la méthode des valeurs.

 Données de requête

Pour interroger les données de la table des utilisateurs, vous pouvez utiliser la méthode select sur l'objet db.

npm i drizzle-orm pg dotenv
npm i -D drizzle-kit tsx @types/pg
Copier après la connexion
Copier après la connexion

Nous utilisons la méthode select sur l'objet db pour interroger un utilisateur dans la table des utilisateurs. Nous utilisons la méthode Where pour filtrer les résultats en fonction de la colonne id.

 Mettre à jour les données

Pour mettre à jour les données dans la table des utilisateurs, vous pouvez utiliser la méthode de mise à jour sur l'objet db.

DATABASE_URL=your-database-url
Copier après la connexion
Copier après la connexion

Nous utilisons la méthode update sur l'objet db pour mettre à jour un utilisateur dans la table des utilisateurs. Nous utilisons la méthode set pour définir la colonne age sur 31 et la méthode Where pour filtrer les résultats en fonction de la colonne id.

 Supprimer les données

Pour supprimer des données de la table des utilisateurs, vous pouvez utiliser la méthode delete sur l'objet db.

DATABASE_URL=mysql://username:password@localhost:3306/database
Copier après la connexion
Copier après la connexion

Nous utilisons la méthode delete sur l'objet db pour supprimer un utilisateur de la table des utilisateurs. Nous utilisons la méthode Where pour filtrer les résultats en fonction de la colonne id.

Conclusion

Drizzle ORM est un ORM simple et léger pour TypeScript. Il est conçu pour être simple à utiliser et facile à comprendre. Il est conçu pour être utilisé avec les bases de données MySQL, mais peut être facilement étendu pour fonctionner avec d'autres bases de données. Vous pouvez obtenir plus de détails sur Drizzle ORM

Merci

Merci d'avoir lu ce guide. J'espère que vous l'avez trouvé utile. Si vous avez des questions ou des commentaires, n'hésitez pas à me contacter. J'aimerais avoir de vos nouvelles.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal