Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

RoRアプリの再構築が上手く行かない場合、"rails g"が必要なgemが原因かもしれない

過去に担当したRoRシステムの手直しをすることになりました。
スクリプトを見るのは、実に一年半ぶり。
"rails s"すら忘れているレベルで現場から離れていたので、今回の記事みたいな有りがちな事も忘れてました。

実際のところ

以下のモノを適用しているシステムの環境を一から再設定する場合を考えます。

  • ログインユーザに管理権限の範囲を色々と設定するRolify

まぁ、いつものようにリモートから引っ張ってきて、必要なものを揃えます。

$ git clone $TARGETURL
$ cd projectDir
$ git checkout -b $REMOTE/DEVELOPBRANCH
$ bundle install

rolify

初期駆動用にdatabaseを用意しようとしたところ……

$ bundle exec rake db:setup
rake aborted!
ActiveRecord::StatementInvalid: SQLite3::SQLException: no such table: roles: SELECT "roles".* FROM "roles"
(ry

roleがないって言ったって…… そこはmigrateでやってくれるんじゃぁ??

色々調べた結果、まずはmigrateで参照しているカラムをつっこむファイルを消す事に。
もしかすると、ここは下記のrails generateすれば済む話だったのかもしれません。

$ rm db/migrate/DATESTRING_rolify_create_roles.rb

その後、公式に従ってrails generateを再実行します。
上書きをするか聞かれますが、上記のmigrateファイルだけ抹消し、他はそのままの方が良いでしょう。

$ rails g rolify Role User