安装 Diesel

cargo install diesel_cli

指定 CLI 后端

cargo install diesel_cli --no-default-features --features sqlite

配置 Diesel

保存数据库地址到环境变量

echo DATABASE_URL=./db.sqlite > .env

配置 Diesel

diesel setup

或者在命令行里配置 database url 参数

diesel setup --database-url database.db

新建迁移文件夹,包括建立表和删除表的 SQL 文件

diesel migration generate create_posts

建立表的 SQL 文件,up.sql

CREATE TABLE posts (
  id INTEGER PRIMARY KEY AUTOINCREMENT,
  title TEXT NOT NULL,
  body TEXT NOT NULL,
  published BOOLEAN DEFAULT 0 NOT NULL
)

删除表的 SQL 文件,down.sql

DROP TABLE posts

应用迁移文件

diesel migration run

回撤迁移文件

diesel migration redo

问题

默认表的列数最大为 32。 可以通过添加64-column-tables或者128-column-tables 特性,增加最大列数, 但是会大幅增加编译时间。

参考

  1. Diesel