2024.10.01
【勉強】ミドルウェア・アプリケーションのEOL・EOSLについて学んでみた
2017.10.01
プログラミング仮想マシンのファイルシステムがおかしくなってRailsがおかしくなった話
坂東です。
vagrantに構築したRailsの開発環境で、DBを作り直すべとmigrate:resetを実行したら、
bundle exec rake db:migrate:reset RAILS_ENV=development
エラーとなりました。
ActiveRecord::DuplicateMigrationNameError: Multiple migrations have the name HogeHoge Duplicate migration 20160115054721. Please renumber your migrations to resolve the conflict.
まえにresetしてからmigrate追加してません。
なにか他の場所の改修が影響している?
本番環境でmigrateできなくなってたらどうしよう!
と青ざめました。
エラー内容は「HogeHoge」が被っているよとのことで、探すためにgrep 。
grep -r "HogeHoge" db/migrate/20160115054721_hogehoge.rb:class HogeHoge < ActiveRecord::Migration db/migrate/20160115054721_hogehoge.rb:class HogeHoge < ActiveRecord::Migration
たしかに二重になってるので、中身を確認。
less db/migrate/20160115054721_add_hash_allocation.rb class HogeHoge < ActiveRecord::Migration def change add_column :allocations, :allocation_hash, :string add_index :allocations, [:allocation_hash] end end
いっこしか記述ないんですけれど?
何か変なので、ファイルの一覧を確認。
ll db/migrate/20160115054721_hogehoge.rb -rw-rw-r-- 1 vagrant vagrant 175 2017-09-29 04:03 20160115054721_hogehoge.rb -rw-rw-r-- 1 vagrant vagrant 175 2017-09-29 04:03 20160115054721_hogehoge.rb
同じファイルが2つある…
rm db/migrate/20160115054721_hogehoge.rb ll db/migrate/20160115054721_hogehoge.rb (なし)
1つ消すと、2つとも消えた…
これはファイルシステムがおかしくなっているんですね。
勘で、Vagrantfileのフォルダ共有設定から :nfs => true を外してみます。
config.vm.synced_folder "~/Documents/work/git/taxicc", "/share", :nfs => true
起動してファイルを確認すると、1つになっていました。
ll db/migrate/20160115054721_hogehoge.rb -rw-rw-r-- 1 vagrant vagrant 175 2017-09-29 04:03 20160115054721_hogehoge.rb
さっきOSをHigh Sierraに上げたからそれが何か悪さしてるのかな。
Eclipse変になったし。
nfsの記述がないとディスクアクセス遅いから困る。
おわり。
【記事への感想募集中!】
記事への感想・ご意見がありましたら、ぜひフォームからご投稿ください!【テクノデジタルではエンジニア/デザイナーを積極採用中です!】
下記項目に1つでも当てはまる方は是非、詳細ページへ!Qangaroo(カンガルー)
【テクノデジタルのインフラサービス】
当社では、多数のサービスの開発実績を活かし、
アプリケーションのパフォーマンスを最大限に引き出すインフラ設計・構築を行います。
AWSなどへのクラウド移行、既存インフラの監視・運用保守も承りますので、ぜひご相談ください。
詳細は下記ページをご覧ください。
最近の記事
タグ検索