Rake db:migrate 未在 Google Cloud SQL 上创建表
Rake db:migrate not creating tables on 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
迁移后尝试rake db:seed
,我在 heroku 上也有类似的问题,这对我来说是有效的
阅读你的 yml 文件我可以看到在“postgres_settings”部分你没有设置“主机”标签。
在 GitHub link[1] 你可以找到一个模板来连接 ruby 到 postgresql,这些模板是 GCP 发布的教程中示例的一部分“书架应用 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-started/tutorial-app
我有一个基本的 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
迁移后尝试rake db:seed
,我在 heroku 上也有类似的问题,这对我来说是有效的
阅读你的 yml 文件我可以看到在“postgres_settings”部分你没有设置“主机”标签。
在 GitHub link[1] 你可以找到一个模板来连接 ruby 到 postgresql,这些模板是 GCP 发布的教程中示例的一部分“书架应用 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-started/tutorial-app