SSブログ

eclipseでRuby on Rails 15回目~rake db:migrate RAILS_ENV=developmentの結果~ [Ruby on Rails]

スポンサードリンク




当記事作成時の環境:Windows10 64bit、Eclipse4.5、Ruby 2.2.3、Apatana Studio3、RadRils

下記のエラーの解決について

Migrations are pending. To resolve this issue, run: bin/rake db:migrate RAILS_ENV=development

下記の記事の続きです。
http://bukinasi-se-biboroku.blog.so-net.ne.jp/2015-11-19

コマンドを実行して変わった部分を把握したいので、Gitを導入しています。
導入方法は↓
・EclipseにGitプラグインを導入して、ローカルにあるプロジェクトをコミット1
 http://bukinasi-se-biboroku.blog.so-net.ne.jp/2015-11-23
・EclipseにGitプラグインを導入して、ローカルにあるプロジェクトをコミット2
 http://bukinasi-se-biboroku.blog.so-net.ne.jp/2015-11-23-1


とりあえず、メッセージで言っているように
「bin/rake db:migrate RAILS_ENV=development」
を実行してみる。

$ rake db:migrate RAILS_ENV=development
rake aborted!
No Rakefile found (looking for: rakefile, Rakefile, rakefile.rb, Rakefile.rb)

20151123_No-00.png


はい、エラーです。
Rakefileがないぞ!って言われています。

とりあえず下記のコマンドでRakefileのあるディレクトリに移動して、コマンドを実行します。

cd 'C:\Users\sato\git\Diaries\Diaries'
rake db:migrate RAILS_ENV=development

== 20151121234338 CreateCalcs: migrating ======================================
-- create_table(:calcs)
   -> 0.0027s
== 20151121234338 CreateCalcs: migrated (0.0040s) =============================

20151123_No-01.png


特に問題なく完了しました。
ログにはcreate_tableと出ています。
データベースにテーブルを作ったのかな?
しかしデータベースはまだ設定してないけどいったいどこに・・・

とりあえず、コマンドは流したのでrails serverを実行。
下記に接続してみます。

http://localhost:3000/calcs/index

2015128_No-00.png


エラーでしたorz
でもエラーの内容は変わっている!
進んでいるはず・・・

とりあえずエラーは置いといて。
「bin/rake db:migrate RAILS_ENV=development」を流すことで何が変わったのか見てみます。

Eclipseの右上のパースペクティブから「チーム同期化」を選択します。
(出てない場合、Eclipse上部のメニューから、ウィンドウ⇒パースペクティブ⇒パースペクティブを開く⇒その他を選択して、開いた子画面の中から「チーム同期化」を選択します。)
下記のような画面が開きます。

2015128_No-01.png

左上の同期化ボタン20151123_No-01.pngを押してサーバと同期をとります。
するとこんな感じで差分が出てきます。

2015128_No-02.png

どうやら「bin/rake db:migrate RAILS_ENV=development」の実行で下記のファイルが作成されたみたいです。
・schema.rb

中身は下記のようになっていて、テーブルの定義ファイルのようです。

ActiveRecord::Schema.define(version: 20151121234338) do

  create_table \"calcs\", force: :cascade do |t|
    t.datetime \"created_at\", null: false
    t.datetime \"updated_at\", null: false
  end

end

試しにこのファイルを削除してみてもコマンドを実行する前の状態には戻りませんでした。
あくまでテーブルの定義情報を記録するものみたいです。

てことは、「rake db:migrate RAILS_ENV=development」を流す目的はデータベースにテーブルを作成することだと思われます。
ただし!どこに作成されたのかわからない!

次回調べてみます。
これが解決したらそろそろデータベース入れようかな・・・




スポンサードリンク



nice!(1)  コメント(0)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 1

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

トラックバック 0

トラックバックの受付は締め切りました

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。