Ответ 1
Задача rake db: reset не поддерживается. Приложения Heroku не имеют разрешения на удаление и создание баз данных. Вместо этого используйте команду
heroku pg:reset
.
Когда я пытаюсь запустить:
heroku run rake db:drop db:create db:migrate
Я получаю сообщение об ошибке:
Running rake db:drop attached to terminal... up, run.5
Couldn't drop adsfsadfas : #<ActiveRecord::StatementInvalid: PGError: ERROR: must be owner of database adsfsadfas
: DROP DATABASE IF EXISTS "adsfsadfas">
Я нахожусь в кероке Героку. Можно ли оставить базы данных на Heroku?
Спасибо!
Джон
Задача rake db: reset не поддерживается. Приложения Heroku не имеют разрешения на удаление и создание баз данных. Вместо этого используйте команду
heroku pg:reset
.
Непосредственные деструктивные команды (drop и create) не разрешены на герою. Но если вы полностью потеряете все данные, вы можете reset базу данных с помощью pg:reset
.
heroku pg:reset DATABASE_URL
Все остальные изменения должны выполняться с помощью db:migrate
. Это гарантирует согласованность состояния базы данных.
Если ваши миграции больше не выполняются через полный стек, вы можете использовать db:schema:load
. Это загружает схему непосредственно из schema.rb. Но имейте в виду, что это также может быть разрушительным, если create_table
использует параметры force: true
или force: :cascade
.
heroku run rake db:schema:load