`heroku run rake db: seed` завершается ошибкой; таблицы присутствуют, но в удаленной базе данных пустые - PullRequest
0 голосов
/ 30 апреля 2020

Я прочитал много ошибок, с которыми люди сталкивались с этой командой, но моя база данных не может заполниться без какой-либо явной ошибки.

Я развернул бэкэнд Rails в Heroku. Миграция postgres выполнена успешно, и я могу просматривать таблицы, используя heroku pg:psql, но после запуска heroku run rake db:seed они остаются пустыми:

myappname::DATABASE=> SELECT * FROM cities;
id | name | country | lat | long | population | created_at | updated_at 
----+------+---------+-----+------+------------+------------+------------
(0 rows)

Моя структура папок:

root
|- app
  |- db
    |- migrate
      |- [list of migrations].rb
    |- schema.rb
    |- seeds.rb

seeds.rb не в .gitignore. Пример файла выглядит так:

City.destroy_all
Game.destroy_all
Question.destroy_all

c001 = City.create(name: 'Tokyo', country: 'Japan', lat: 35.685, long: 139.7514, population: 35676000)
c002 = City.create(name: 'New York', country: 'United States', lat: 40.6943, long: -73.9249, population: 19354922)
c003 = City.create(name: 'Mexico City', country: 'Mexico', lat: 19.4424, long: -99.131, population: 19028000)
c004 = City.create(name: 'Mumbai', country: 'India', lat: 19.017, long: 72.857, population: 18978000)

Я использую ruby 2.6.1, rails 5.2.3, pg 1.1.4.

Буду признателен за любые предложения, чтобы попробовать!

1 Ответ

0 голосов
/ 30 апреля 2020

Проблема решена. Это была опечатка, но я оставлю это здесь на случай, если кто-нибудь сделает что-то подобное и получит ошибку без ошибок. Верхняя часть моего файла выглядела так:

exit# TODO: I had a todo item here...
# TODO: And another
# TODO: There were three comments

City.destroy_all
Game.destroy_all
Question.destroy_all

Таким образом, между локальным запуском и развертыванием в Heroku, я, должно быть, набрал этот «выход», пока думал, что мой курсор находится в консоли, и не заметил в файле из 260 строк.

...