Я возился со своей базой данных, создавая и удаляя таблицы. Я удалил несколько файлов миграции после того, как отправил их на героку. Ранее я создал таблицу «мамы». Позже я захотел переименовать его, поэтому удалил «мамы» и создал новую таблицу «минуты_совещаний». Я сделал $rake db:migrate, и все было сделано успешно, и мое приложение отлично работает на локальном хосте.
После того, как я отправил его на героку, когда я запустил $heroku rake db:migrate, он сгенерировал следующий журнал:
ActiveRecord::SchemaMigration Load (0.7ms) SELECT "schema_migrations".* FROM "schema_migrations"
Migrating to DropMoms (20150823142852)
(0.6ms) BEGIN
== 20150823142852 DropMoms: migrating =========================================
-- drop_table(:moms)
(0.9ms) DROP TABLE "moms"
PG::UndefinedTable: ERROR: table "moms" does not exist
: DROP TABLE "moms"
(0.5ms) ROLLBACK
rake aborted!
StandardError: An error has occurred, this and all later migrations canceled:
PG::UndefinedTable: ERROR: table "moms" does not exist
: DROP TABLE "moms"/app/vendor/bundle/ruby/2.2.0/gems/activerecord-4.2.0/lib/active_record/connection_adapters/postgresql/database_statements.rb:155:in `async_exec'
/app/vendor/bundle/ruby/2.2.0/gems/activerecord-4.2.0/lib/active_record/connection_adapters/postgresql/database_statements.rb:155:in `block in execute'
Я создал новую таблицу «мамы» в героку, чтобы ее можно было удалить при выполнении миграции. Я сделал это:
$ heroku run Ruby console for rails-app-name >> ActiveRecord::Migration.create_table :moms
Я также создал миграцию для создания таблицы «мамы». Но все равно ошибка сохраняется.
РЕДАКТИРОВАТЬ:
Это мой файл миграции CreateMoms:
class CreateMoms < ActiveRecord::Migration
def change
create_table :moms do |t|
t.string :name
t.timestamp null: false
end
end
end
Когда я запускаю heroku, запускаю rake db:migrate:up
Running `rake db:migrate:up` attached to terminal... up, run.1729
rake aborted!
VERSION is required
/app/vendor/bundle/ruby/2.2.0/gems/activerecord-4.2.0/lib/active_record/railties/databases.rake:78:in `block (3 levels) in <top (required)>'
Tasks: TOP => db:migrate:up
(See full trace by running task with --trace)
WARNING: Toolbelt v3.41.3 update available.
На героку запустите rake db:migrate:down
Running `rake db:migrate:down` attached to terminal... up, run.6389
rake aborted!
VERSION is required - To go down one migration, run db:rollback
/app/vendor/bundle/ruby/2.2.0/gems/activerecord-4.2.0/lib/active_record/railties/databases.rake:86:in `block (3 levels) in <top (required)>'
Tasks: TOP => db:migrate:down
(See full trace by running task with --trace)
WARNING: Toolbelt v3.41.3 update available.
heroku run rake db:migrate:up
иheroku run rake db:migrate:down
? - person K M Rakibul Islam   schedule 23.08.2015moms
в вашей схеме на героку? - person K M Rakibul Islam   schedule 23.08.2015heroku run rake db:schema:load
, а затем повторите попытку переноса:heroku run rake db:migrate
- person K M Rakibul Islam   schedule 23.08.2015rake db:schema:load
просто загружает файлschema.rb
в базу данных - person K M Rakibul Islam   schedule 23.08.2015