28 个版本

0.7.0 2021 年 11 月 8 日
0.6.5 2020 年 1 月 21 日
0.6.3 2019 年 12 月 26 日
0.6.2 2019 年 6 月 13 日
0.2.0 2018 年 3 月 4 日

#65 in #database-schema

Download history 1225/week @ 2024-03-13 790/week @ 2024-03-20 536/week @ 2024-03-27 1113/week @ 2024-04-03 1077/week @ 2024-04-10 1044/week @ 2024-04-17 1039/week @ 2024-04-24 919/week @ 2024-05-01 1031/week @ 2024-05-08 1298/week @ 2024-05-15 1584/week @ 2024-05-22 1099/week @ 2024-05-29 1410/week @ 2024-06-05 1332/week @ 2024-06-12 1074/week @ 2024-06-19 855/week @ 2024-06-26

4,841 个月下载量
13 个 crate(直接使用 7 个) 中使用

MIT/X11 OR Apache-2.0

1MB
3K SLoC

一个强大的数据库模式构建器,允许您在 Rust 中编写 SQL 迁移!

barrel 提供了用于 SQL 迁移的回调式构建函数,设计灵活、便携、易于使用。它为您提供了 SQL 的通用接口,并增加了特定数据库的构建器。

这样您就可以专注于您的 Rust 代码,而无需担心 SQL。

示例

以下示例将帮助您入门

use barrel::{types, Migration};
use barrel::backend::Pg;

fn main() {
    let mut m = Migration::new();

    m.create_table("users", |t| {
        t.add_column("name", types::varchar(255));
        t.add_column("age", types::integer());
        t.add_column("owns_plushy_sharks", types::boolean());
    });

    println!("{}", m.make::<Pg>());
}

使用 Diesel

diesel 1.2.0 开始,现在可以使用 barrel 通过 diesel 进行迁移。有关如何开始的指南和一些更多信息,请参阅此处

迁移指南

如果您在 barrel0.5.0 版本之前使用它来编写 diesel 的迁移,则可能需要对您的迁移进行一些迁移。从 0.5.0 版本开始,类型构造的方式发生了变化。现在不再使用 Types::VarChar(255)(一个枚举变体)来构造类型,而是由一个名为 types 的模块和构建函数提供类型。现在相同的类型将是 types::varchar(255)(一个函数调用),然后返回一个 Type 枚举。

您也可以直接以这种方式创建自己的 Type 构建器。查看文档以获取详细信息!

许可

barrel 是免费软件:您可以在 MIT 公共许可证的条款下重新分发和/或修改它。

本程序以希望它将是有用的,但没有任何保证;甚至没有对适销性或对特定用途的适用性的暗示保证。有关详细信息,请参阅 MIT 公共许可证。

行为

为了营造一个开放和欢迎的环境,barrel项目承诺让每个人都能在无骚扰的环境中参与。详情请参阅行为准则。如有违规,请发送电子邮件至[email protected]

依赖项

~0-9MB
~89K SLoC