2010-11-20 16 views
1

新しいレール3アプリを起動しました。 Scaffoldを介して生成された2つの移行について言及しました。 「:移行すくいデシベルは」私が実行しても、私が実行したときに何がコンソールに出力されません:ここ rake dbを実行しても何も起こりません:migrate

は、私が会ったサンプルの移行

class CreateBicycles < ActiveRecord::Migration 
    def self.up 
    create_table :bicycles do |t| 
     t.string :title 
     t.text :Note 
     t.string :Manufacturer 
     t.string :Model 
     t.date :year_manufactured 
     t.integer :view_count 
     t.timestamps 
    end 
    end 

    def self.down 
    drop_table :bicycles 
    end 
end 
+0

マイグレーションを投稿できますか? – Alex

+0

私はあなたの質問の体を意味します。 :) – Alex

+0

あなたのレーキタスクはどこから実行していますか? railsディレクトリのルートで実行していることと、RakeFileがあることを確認してください。 – Alex

答えて

0

である「DB --verbose熊手を移行」あなたのような問題です。私の問題の説明です。

トライすくいデシベル:バージョン、それは0

トライすくいデシベルを返す:移行、でも移行ファイルは、DB /移行ではありますが、何も起こらなかったし、何のテーブルが作成されません。 try rake db:migrate VERSION = YourAnyMigrationFileTimestamp例外が発生した場合、このような移行は発生しないとします。

私のような問題がある場合は、移行タスクを実行するときにデフォルトのルートを変更する間違ったレーキタスクを持っているかインストールしている可能性があります。

これをチェックするには、3番目のタスクをデバッグする必要があります(http://stackoverflow.com/questions/2663912/rails-debugging-rails-tasksでレーキタスクをデバッグする方法が分かります)。

デバッグ行548 activerecord-3.0.1/lib/active_record/migration.rbで、 の結果がアプリケーションルートでない場合は、デフォルトのタスクディレクトリを変更する必要があります。

次は私が

(RDB:1)デバッグたものであるのp self.class

のActiveRecord ::移行

(RDB:1)のn

/ホームを/ raykin/.rvm/gems/[email protected]/gems/activerecord- 3.0.1/libに/ active_record/migration.rb:550

ファイルのDir = [ "#{@} migrations_path/[0-9] _ .RB "]

(RDB:1)N

/home/raykin/.rvm/gems/[email protected]/gems/activerecord- 3.0.1/lib/active_record/migration.rb:552

マイグレーション= files.inject([])do | klasses、file |

(RDB:1)Pファイル

[]

(RDB:1)のp @migrations_path

"DB /移行/"

(RDB:1)Pディレクトリ['db/migrate/[0-9] _。RB ']

[]

(RDB:1)L

*出力フラッシュ*

(RDB:1)Dir.pwd

*不明コマンド: "Dir.pwd"。 "ヘルプ"を試してください。

(RDB:1)のp Dir.pwd

"/ホーム/ raykin /キャンパス/:/コード/キャンパス/ DB/data_export"

参照、現在のディレクトリが、原因レールを変更しました マイグレーション(すべての負荷をスキップする方法があるようです)といくつかの悪いタスク(ちょうど私が昨日書きました...)を実行する前にすべてのタスクをロードして、現在のディレクトリを変更します。

これはまさにRailsの問題ではありませんが、本当にユーザーにとって混乱した結果です。 うまくお手伝いできます。

関連する問題