【发布时间】:2015-01-29 22:58:49
【问题描述】:
除了从头创建数据库表的“syncdb”命令之外,我在文档中没有找到任何东西。是否有任何命令可以基于 ORM 模型创建和运行迁移?就像在 django 中一样?添加字段、更改类型等
【问题讨论】:
除了从头创建数据库表的“syncdb”命令之外,我在文档中没有找到任何东西。是否有任何命令可以基于 ORM 模型创建和运行迁移?就像在 django 中一样?添加字段、更改类型等
【问题讨论】:
不,orm.RunSyncdb(name, force, verbose) 和它的命令行等价物只做 django South 等工具的一小部分。
Beego 的 orm 可以:
您需要处理删除列以及对用于最初创建表的列参数所做的任何更改。
【讨论】:
遗憾的是 beego 不包含此功能,但 go 中的框架(截至今天)不包含此功能。 相反,它们都将其转发给其他库来处理。
不过,您可以使用 goose 进行迁移:
或以下线程中讨论的任何其他迁移库:
请记住,由于 beego 的模块化,您还可以使用任何其他 orm(如 gorm)。
如果您想要有关 go 生态系统的工具/库列表,请随时在 google 中查找:avelino/awesome-go。
【讨论】:
是的,您现在可以在 beego 中创建迁移。例如,如果您需要创建一个新表,您可以从使用 bee 工具创建一个新的迁移文件开始:
bee generate migration create_user_table
此命令将在 database/migrations 文件夹中创建一个文件。文件名包含迁移的日期、时间和名称。
更多详情可以查看这篇文章https://ncona.com/2017/10/database-migrations-in-beego
【讨论】: