# diff_orm
## 概述
- 对比 dbml 文件和指定数据库的差别进行输出 diff.sql
- 生成 dbml 文件的 sql
## 需求
> 功能需求
- 通过 dbml 文件和数据库的库表结构对比,生成 diff.sql
- 如果 dbml 文件中有的表,数据库中没有,则生成 create table 语句
- 如果 dbml 中的表,数据库中也有,则对比字段,生成 alter table 语句
- 只做增加字段的操作,不做删除字段的操作,和修改字段的操作
- 外键的对比
- 如果 dbml 中有的外键,数据库中没有,则生成 create foreign key 语句
## 结构化分析
## 使用
```powershell
./d2s.exe "shuorm" "dbml/test.dbml" "root:root@tcp(127.0.0.1:3306)/shuorm?charset=utf8&loc=Local"
```
## todo
- [x] 对比数据库的结构
- [x] 对比 dbml 的结构
- [x] dbml 的 args 的解析
- [x] dbml 和 数据库对比 生成 changeItem
- [x] 对接数据库为 PostgreSQL
- [x] changeItem 生成 sql
- [x] 新增关联生成
- [ ] 备注的的对比生成