diesel ORM的使用

Diesel 是与 Rust 中的数据库交互的最有效方式,因为它对查询进行了安全且可组合的抽象。

Sqlite环境准备

在使用 Diesel 之前,需要从 Sqlite 官网下载并编译合适的 lib 包,并放置在 msvc 的库文件夹中。

这是很多人忽略的问题,在进行cargo install diesel_cli --no-default-features --features sqlite时无法正常链接,导致安装失败!

项目创建

  1. 使用cargo new创建自定义项目。
  2. 修改Cargo.toml文件依赖
[package]
name = "diesel_demo"
version = "0.1.0"
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
diesel = { version = "2.1.1", features = ["sqlite"] }
dotenvy = "0.15.7"
serde = { version = "1.0.188", features = ["derive"] }
  1. 安装终端工具cargo install diesel_cli --no-default-features --features sqlite

根据需要调整数据库指定参数,例如:
cargo install diesel_cli --no-default-features --features mysql

  1. 使用终端工具管理数据库表结构,需要在项目根目录下维护.env环境变量文件
#环境变量 数据库位置
echo DATABASE_URL=./diesel_demo > .env
#生成数据库
diesel setup
#创建表结构变化脚本
#生成后会在项目根目录下生成`migrations/yyyy-MM-dd-hhmmss_table_name/up.sql`和`migrations/yyyy-MM-dd-hhmmss_table_name/down.sql`
#在里面编写初始化脚本和销毁脚本
diesel migration generate table_name
#在数据库中生成表结构
diesel migration run
#重新生成表结构
diesel migration redo
  1. 编写合适的Rust代码,编译,运行即可。

diesel ORM的使用
https://blog.cikaros.top/doc/861fbf6e.html
作者
Cikaros
发布于
2023年9月20日
许可协议