我正在使用Heroku上托管的Rails 5.1,我使用以下命令来迁移我的数据库:
heroku run rake db:migrate -a [my app name]
所有迁移本身都正确完成:
SQL (1.6ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) RETURNING "version" [["version", "20180504164326"]]
(2.1ms) COMMIT
Migrating to AddPinToStaff (20180519024721)
(1.5ms) BEGIN
== 20180519024721 AddPinToStaff: migrating ====================================
-- add_column(:staff, :pin_number, :string)
(4.2ms) ALTER TABLE "staff" ADD "pin_number" character varying
-> 0.0045s
== 20180519024721 AddPinToStaff: migrated (0.0046s) ===========================
Run Code Online (Sandbox Code Playgroud)
这是我创建的最后一个迁移文件,所以这一切似乎都有效.然后,这运行:
SQL (1.6ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) RETURNING "version" [["version", "20180519024721"]]
(2.4ms) COMMIT
ActiveRecord::InternalMetadata Load (1.7ms) SELECT "ar_internal_metadata".* FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" …Run Code Online (Sandbox Code Playgroud) 我收到以下错误消息,不知道如何解决它.有人可以帮忙吗?
NoMethodError:未定义的方法`needs_migration?' 对于ActiveRecord :: Migrator:Class
这是config.ru代码:
require './config/environment'
if ActiveRecord::Migrator.needs_migration?
raise 'Migrations are pending. Run `rake db:migrate` to resolve the issue.'
end
use Rack::MethodOverride
use UsersController
use ArtworkController
run ApplicationController
Run Code Online (Sandbox Code Playgroud)