3

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

4

3 回答 3

1

不, orm.RunSyncdb(name, force, verbose) 和它的命令行等价物只做 django 的南之类的工具可以做的一小部分。

Beego 的 orm 可以:

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

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

于 2015-02-05T04:57:33.980 回答
1

遗憾的是,beego 不包含此功能,但 go 中没有框架(截至今天)。相反,它们都将其转发给其他库来处理。

但是,您可以做的是使用 goose 进行迁移:

或以下线程中讨论的任何其他迁移库:

请记住,由于 beego 的模块化,您还可以使用任何其他 orm(如 gorm)。

如果您想要围绕 go 生态系统的工具/库列表,请随时在 google 中查找:avelino/awesome-go。

于 2015-06-09T15:47:27.863 回答
0

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

bee generate migration create_user_table

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

有关更多详细信息,您可以查看这篇文章https://ncona.com/2017/10/database-migrations-in-beego

于 2020-02-27T04:04:19.247 回答