安装 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
特性,增加最大列数,
但是会大幅增加编译时间。