Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将golang应用程序部署到Heroku时运行迁移_Go_Heroku_Migrate_Go Modules - Fatal编程技术网

将golang应用程序部署到Heroku时运行迁移

将golang应用程序部署到Heroku时运行迁移,go,heroku,migrate,go-modules,Go,Heroku,Migrate,Go Modules,我一直在尝试在Heroku上为golang应用程序设置迁移。我使用的是原生Go模块(vgo)和官方的Heroku构建包。对于迁移,我使用这个包 问题是,我可以在主功能运行时运行迁移,但感觉有点不舒服,这意味着每次应用程序重新启动时都会运行迁移。我更愿意在部署时只运行模式迁移 我不确定如何实现这一点,当我登录到没有安装go二进制文件的实例时,就像构建包只执行主功能一样 我可以用Heroku CLI命令来完成这项工作,但我无法在文档中或通过Google找到如何完成这项工作。所有依赖项都应该定义为He

我一直在尝试在Heroku上为golang应用程序设置迁移。我使用的是原生Go模块(vgo)和官方的Heroku构建包。对于迁移,我使用这个包

问题是,我可以在主功能运行时运行迁移,但感觉有点不舒服,这意味着每次应用程序重新启动时都会运行迁移。我更愿意在部署时只运行模式迁移

我不确定如何实现这一点,当我登录到没有安装go二进制文件的实例时,就像构建包只执行主功能一样


我可以用Heroku CLI命令来完成这项工作,但我无法在文档中或通过Google找到如何完成这项工作。

所有依赖项都应该定义为Heroku可以为您安装它们。对于围棋,Heroku支持和支持。如果您还没有使用,请选择一个并开始

您的依赖项文件应提交到存储库。对于godep,它是
Godeps/Godeps.json
,对于govendor,它是
vendor/vendor.json
。不应提交依赖项本身


migrate
上添加依赖项后,它应该可以在Heroku上使用。您可以通过heroku run bash运行
migrate up
和其他命令。当您手动地运行迁移时,您可能需要考虑将A添加到您的代码> PROFFLASH < /COD>。这样,当部署新版本时,迁移会自动应用。

您使用什么工具进行迁移?
goose
是否在交互式
heroku运行
会话中?这应该是“在交互式
heroku运行
会话中可以使用
goose
。”你说得对,忘记添加了。我用的是@Chris。在交互式会话中,我实际上没有migrate命令,但是我也没有做任何特殊的事情使它可用,这就是我想知道的