首页 > web前端 > js教程 > 细雨 ORM 速成课程

细雨 ORM 速成课程

Barbara Streisand
发布: 2025-01-14 20:28:47
原创
543 人浏览过

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
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板