
请教:
大家偏向怎么管理 Go 项目的 Migrations 的?
用 Gorm 的 Auto migration 吗?(对我来说,像一个黑箱)
自己写 sql 执行并记录?诸如 https://github.com/golang-migrate/migrate 和 https://github.com/rubenv/sql-migrate
1 LoNeFong 2021 年 2 月 7 日 migrate+1 自己写并记录版本号 |
2 YouLMAO 2021 年 2 月 7 日 dba 迁移数据, 你们是业务人操作的????? 惊艳 |
4 YouLMAO 2021 年 2 月 7 日 via Android @ihipop 这语气说得,你公司市值到 1000 亿没有? 大公司加减字段都是提单 dba 操作的,业务没有 dml 权限的,业务操作数据库迟早倒闭 |
5 renyijiu 2021 年 2 月 7 日 flyway 可以吧 |
6 huobazi 2021 年 2 月 7 日 自己写 migrate 用的 sql,发布时写 release note 提交表单,交由 Moving Team 和 DBA 去做 审核 + moving |
7 leoleoasd 2021 年 2 月 7 日 |
9 stirlingx 2021 年 2 月 7 日 小项目在代码里面 migrate 。大项目用 sql 脚本,提交到 sql 管理平台,由 dba 审核升级 |
12 stirlingx 2021 年 2 月 7 日 开源 sql 审核平台 https://github.com/hhyo/Archery |
13 janxin 2021 年 2 月 7 日 migrate 用 SQL 管理啊... |
14 tairan2006 2021 年 2 月 7 日 via Android 自己写 sql… 小项目直接在 idea 里面改数据库,然后从数据库重新生成 model… |
15 LoNeFong 2021 年 2 月 7 日 感谢楼主, 已 B 某傻 x, 没想到风气这么差, 仿佛就他见过世面.可能市值 1000yi 的公司开发测试的时候都是请 dba 来手把手喂饭. |
16 saber000 2021 年 2 月 8 日 简单用过几个框架: 1. beego:使用 bee migrate 2. gorm:使用 gormigrate 其他没有 orm 的项目,之前是手撸了个框架,通过命令自动在一个包里面给一个类型生成两个方法: - func (m *Migration) MigrateXXXXX(db DB) error - func (m *Migration) RollbackXXXXX(db DB) error 其中 XXXXX 是一个自增的 ID,函数内容自己写,然后运行的时候通过反射取出 Migration 的方法进行排序,然后对比数据库记录往后进行。 后来发现这种方法可以用 golang-migrate 来替代。 |
17 tianzhou PRO 可以看一下 bytebase.com 支持基于 GitOps 的 DDL 管理, 相当于带了界面的 golang-migrate,用 Golang+Vue 写的,也开源 https://github.com/bytebase/bytebase |