ruby-on-rails - Rake db:migrate 不在 Google Cloud SQL 上创建表
问题描述
我有一个基本的 Rails 应用程序,我正在尝试使用 Google Cloud SQL Postgres 数据库作为后端。但是,当我运行时rake db:migrate
,没有错误,也没有在我们的development
环境 GCP 数据库中创建表。
我可以通过 sql 客户端登录到 GCP Postgres 数据库,这样我就可以使用凭据了。我能够通过客户端创建和删除表。
有没有我遗漏的细节?我在用:
Rails 4.2.11.1
ruby 2.5.0p0
下面是我的 Gemfile 和 database.yml 的重要内容。
# Gemfile
gem "rails", "~> 4.2.8"
group :production, :development do
gem "pg", "~> 0.21"
end
group :test do
gem "sqlite3", "~> 1.3.11"
end
# database.yml
postgres_settings: &postgres_settings
adapter: postgresql
encoding: utf8
pool: 5
username: postgres
password: <saved>
database: <saved>
socket: /cloudsql/<instance connection name>
development:
<<: *postgres_settings
production:
<<: *postgres_settings
test:
adapter: sqlite3
pool: 5
timeout: 5000
database: db/test.sqlite3
解决方案
阅读您的 yml 文件,我可以看到在“postgres_settings”部分中您没有设置“主机”标签。
在 GitHub 链接[1] 中,您可以找到将 ruby 连接到 postgresql 的模板,这些模板是 GCP 发布的教程“Bookshelf application with Ruby”[2] 中示例的一部分。
我希望这对你有帮助,如果没有,请告诉我。
[1] https://github.com/GoogleCloudPlatform/getting-started-ruby/blob/master/2-postgresql/config/database.example.yml [2] https://cloud.google.com/ruby/getting -开始/教程应用
推荐阅读
- acumatica - 在 Acumatica 中为通用查询添加可点击链接
- php - 当值作为字符串返回时,在 PHP 中格式化日期
- reactjs - redux saga 如何在函数中触发 next
- html - go/golang 服务器中的静态 css 文件
- swift - 基于 3 个值的简单验证条件
- c# - 使用 SSL/TLS HTTPS 从 C# 启动轻量级 Web 服务器 - 无需安装证书/使用 netsh?
- php - codeigniter 3 php 7.2 count() 函数不起作用
- sql - Hive SQL 删除数组中的空元素
- python - 从 2d numpy 数组中提取旋转的 1d 轮廓的结果不一致
- powerbi - 当公式只能处理 1 个值时获取多个值