有没有办法在 beego 中创建数据库迁移?

3

我在文档中除了“syncdb”命令外没有找到其他任何东西,它可以从头开始创建数据库表。是否有基于ORM模型创建和运行迁移的命令?像Django一样?添加字段、更改类型等。

3个回答

1
很遗憾,beego没有包含这个功能,但是截至今天,在Go语言中也没有任何一个框架包括这个功能。相反,它们都将其转交给其他库来处理。 然而,你可以使用goose进行迁移:

或者使用在下面讨论中提到的任何其他迁移库:

记住,由于beego的模块化,您也可以使用任何其他orm(如gorm)。
如果您想要查找go生态系统中的工具/库列表,请随意在谷歌中搜索:avelino/awesome-go。

1

不,orm.RunSyncdb(name, force, verbose)和它的命令行等价物只能完成类似django's south这样的工具的一小部分功能。

Beego的orm可以:

  • 从头开始创建新表
  • 删除所有表(force=true)
  • 随着您扩展模型添加新列

您需要处理删除列和对最初用于创建表的列参数的任何更改。


那么,你如何使用beego处理数据库迁移? - Hepri
传统的方法是通过备份 sql schema 并使用 sql 语句来删除或更改列。如果您正在使用 git,则只需将模式备份保存在存储库中,以及包含您所做的任何模式更改语句的 .sql 文件。在这两者之间,您应该能够找到回到先前状态的方法。 - Will Krause

0

是的,现在你可以在beego中创建迁移了。例如,如果你需要创建一个新表,你可以使用bee工具创建一个新的迁移文件:

bee generate migration create_user_table

该命令将在database/migrations文件夹内创建一个文件。文件名包含迁移的日期、时间和名称。

如需了解更多详情,请查看本文https://ncona.com/2017/10/database-migrations-in-beego


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接