环境准备与依赖

最小依赖集

[dependencies]
rust-ef = "1.8"
rust-ef-sqlite = "1.8"
rust-dix = "0.7"
tokio = { version = "1", features = ["full"] }

多 Provider 切换

| 数据库 | 依赖 | 注册方式 | |--------|------|----------| | SQLite | `rust-ef-sqlite` | `.use_sqlite("app.db")` | | PostgreSQL | `rust-ef-postgres` | `.use_postgres("host=localhost/db")` | | MySQL | `rust-ef-mysql` | `.use_mysql("mysql://root:pass@localhost/db")` |

快速验证

use rust_ef::db_context::{DbContext, DbContextOptionsBuilder};
use rust_ef_sqlite::DbContextOptionsBuilderExt as _;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let mut builder = DbContextOptionsBuilder::new();
    builder.use_sqlite_in_memory();
    let ctx = DbContext::from_options(&builder.build())?;
    println!("DbContext created successfully!");
    Ok(())
}

开发工具

# CLI 工具(开发时依赖)
cargo install rust-ef-cli

# 常用命令
rust-ef migration add InitialCreate --output ./Migrations
rust-ef migration list --connection "sqlite:app.db"

下一节:[定义第一个实体](first-entity.md)