Skip to content

ActiveRecord でのユーザー認証

Posted on:2018年5月4日 at 00:00

Rake で マイグレーションを行おうとした時にエラーが発生しました。
StandardError: Directly inheriting from ActiveRecord::Migration is not supported. Please specify the Rails release the migration was written for:

参考

https://github.com/RolifyCommunity/rolify/issues/444

原因

code: shell bundle exec rake db:create_migration NAME=create_users で生成される.rbファイルに記述されている、バージョン情報が無いせいです。

Rakefile

 require 'sinatra/activerecord'
 require 'sinatra/activerecord/rake'
 require './models/user.rb'

修正前

 class CreateUsers < ActiveRecord::Migration"ここが無い"
   def change
     # 省略
   end
 end

修正後

 class CreateUsers < ActiveRecord::Migration[5.2]
   def change
     # 省略
   end
 end

再度実行

 # 正常に実行できた
 > bundle exec rake db:migrate
 > == 20180428072758 CreateUsers: migrating ======================================
 > -- create_table(:users)
 >   -> 0.0009s
 > == 20180428072758 CreateUsers: migrated (0.0009s) =============================