我正在将 Ruby on Rails 网站部署到 Google Cloud 的应用引擎。我已经配置了 CloudSQL 数据库(或多或少),只是想迁移数据库。 Google 建议我运行以下命令:
捆绑执行 rake appengine:exec -- 捆绑执行 rake db:migrate
这样做会出现以下错误:
rake aborted!
NoMethodError: undefined method `[]' for nil:NilClass (NoMethodError)
container = app_info["deployment"]["container"]
^^^^^^^^^^^^^
Tasks: TOP => appengine:exec
(See full trace by running task with --trace)
我不知道如何调试这个。如果您知道我可以尝试什么,请告诉我!或者,如果您有任何关于如何直接解决此问题的信息,那也有效。
谢谢!
我递归地搜索应用程序的根目录,并在二进制文件中找到了 app_info。看到这个我不知道该怎么办了。
我查看了一堆其他堆栈溢出线程,但找不到任何太相似的内容。
我(尽我所能)确保 app.yaml 和 database.yml 的结构正确。
我有同样的问题并向仓库发送了拉取请求。 https://github.com/GoogleCloudPlatform/serverless-exec-ruby/pull/28
你可以尝试在“Gemfile”中写入吗?
gem 'google-serverless-exec', github: "masuidrive/serverless-exec-ruby", branch: "update-to-latest-gcloud"
gem "appengine", "~> 0.7.0"