Rake db: переносить не создавая таблицы в Google Cloud SQL - PullRequest
0 голосов
/ 14 мая 2019

У меня есть базовое приложение Rails, где я пытаюсь использовать базу данных Google Cloud SQL Postgres в качестве бэкэнда.Однако, когда я запускаю rake db:migrate, в базе данных GCP, которая является нашей development средой, нет ошибок, а также не создаются таблицы.

Я могу войти в базу данных GCP Postgres через клиент sql, чтобы у меня были учетные данные.Я могу создавать и удалять таблицы через клиента.

Есть ли какие-то детали, которые мне не хватает?Я использую:

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 

Ответы [ 2 ]

2 голосов
/ 14 мая 2019

Читая ваш yml-файл, я вижу, что в разделе «postgres_settings» у вас не установлена ​​метка «host».

В ссылке на GitHub [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

0 голосов
/ 14 мая 2019

Попробуй сделать rake db:seed после Миграции, у меня схожие проблемы с герою и вот что работает у меня

...