2个版本
0.0.2 | 2022年1月26日 |
---|---|
0.0.1 | 2022年1月24日 |
#8 in #maud
用于adminix
20KB
452 行
Adminix是为类似Django admin的actix - sqlx
入门
查看example/
策略/权衡
Adminix使用过程宏实现。这是一种编译时类型,它检查数据库并为actix服务器构建路由和处理程序。这些处理程序是使用SSR实现的简单CRUD路由,使用了Maud模板库。它使用sqlx查询宏在编译时确认宏生成的查询与数据库兼容。
优点
- Adminix本身相当简单:只有几百行代码
- Adminix非常健壮:编译提供了很多正确行为的保证
- 很容易将其添加到现有的actix / sqlx项目,其中数据库是真相的来源
缺点
- adminix不是一个REST API,所以如果你想实现一个现在常见的前后端架构,你需要自己来
- 一些
⚠ 非常非常早期版本
做出了很多假设
- actix "3" 和 sqlx "4"
- 仅支持Sqlite
- 每个表都必须有一个INTEGER "id"主键
- 外键仅针对"id",另外,我不是一个熟练的Rust开发者。
⚠ 没有内置的安全功能
应用程序需要确保认证。使用gards !
支持/路线图
☑ | 基本CRUD |
☑ | sqlite |
☐ | postgres |
☐ | mysql ? |
☑ | 外键链接 |
☐ | 保存可空(可选) |
☐ | 外键编辑 |
☑ | 反向外键链接 |
☑ | 后端过滤 |
☑ | 前端智能表格(排序、过滤) |
☑ | 主页/模板 |
☐ | 分页 |
☐ | 支持图像blob(只读) |
☐ | 多种blob文件类型 |
☐ | 测试(进程宏 + 异步 = 🤔) |
☐ | 支持非id主键吗? |
☐ | 支持非id外键目标吗? |
欢迎帮助!
请,填写问题!我也接受合并请求,如果我不够积极,请提醒我: ( f"julienfr{ meaning_of_life + 70 }@gmail.com" )
依赖项
~61MB
~1.5M SLoC