Подтвердить что ты не робот

Запуск rake db: drop db: create db: migrate на стекле кедра Heroku

Когда я пытаюсь запустить:

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?

Спасибо!

Джон

4b9b3361

Ответ 1

Задача rake db: reset не поддерживается. Приложения Heroku не имеют разрешения на удаление и создание баз данных. Вместо этого используйте команду heroku pg:reset.

Ответ 2

Непосредственные деструктивные команды (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