タグ付けされた質問 「rake」

純粋なRubyで定義されたビルドコマンドを使用したmakeと同様のRubyビルドユーティリティ。


5
rake db:migrate db:resetとdb:schema:loadの違い
違いrake db:migrateとは、rake db:reset私の頭の中ではかなり明白です。わからないのrake db:schema:loadは前の2つとはどう違うのか。 私が同じページにいることを確認するだけです: rake db:migrate -まだ実行されていないマイグレーションを実行します。 rake db:reset-データベースをクリアし(おそらくrake db:drop+ rake db:create+ rake db:migrateを実行)、新しいデータベースで移行を実行します。 私の理解が間違っていた場合、明確にするのを助けてください。


22
Rails DB移行-テーブルを削除する方法?
必要になると思ったテーブルを追加しましたが、現在は使用する予定はありません。そのテーブルを削除するにはどうすればよいですか? すでに移行を実行しているので、テーブルはデータベースにあります。私rails generate migrationはこれを処理できるはずだと思いますが、まだどのようにしているかはわかりません。 私はもう試した: rails generate migration drop_tablename しかし、それは空のマイグレーションを生成しました。 Railsにテーブルをドロップする「公式の」方法は何ですか?

7
Rakeタスク内からRakeタスクを実行する方法は?
私はグローバル変数に応じて、2つの方法でプロジェクトをコンパイルするRakefileを持つ$build_typeことができ、:debugまたは:release(結果は別々のディレクトリに行きます): task :build => [:some_other_tasks] do end 次のような、両方の構成でプロジェクトをコンパイルするタスクを作成したいと思います。 task :build_all do [ :debug, :release ].each do |t| $build_type = t # call task :build with all the tasks it depends on (?) end end メソッドのようにタスクを呼び出す方法はありますか?またはどうすれば同様のことを達成できますか?
411 ruby  rake 

7
bundle exec rakeはどういう意味ですか?
どういうbundle exec rake db:migrate意味ですか?それともbundle exec rake <command>一般的に? bundleGemfileのメンテナンスを行うことで理解します。「exec」という言葉の意味を知っています。rakeは、あなたが実行できるさまざまなスクリプトのすべてを維持していることを理解していますdb:migrate。それがその1つであることを知っています。これらすべての単語が一体何をしているのか、私にはわかりません。なぜデータベース移行のbundle実行rakeに使用する必要があるのですか?


6
RailsレーキタスクはActiveRecordモデルへのアクセスを提供しますか?
カスタムのrakeタスクを作成しようとしていますが、モデルにアクセスできないようです。これは暗黙のうちにrailsタスクに含まれているものだと思いました。 lib / tasks / test.rakeに次のコードがあります。 namespace :test do task :new_task do puts Parent.all.inspect end end そして、これが私の親モデルがどのように見えるかです: class Parent < ActiveRecord::Base has_many :children end これはかなり単純な例ですが、次のエラーが発生します。 /> rake test:new_task (in /Users/arash/Documents/dev/soft_deletes) rake aborted! uninitialized constant Parent (See full trace by running task with --trace) 何か案は?ありがとう

7
レーキタスクから早期に戻るにはどうすればよいですか?
最初にいくつかのチェックを行うrakeタスクがあります。チェックの1つが失敗した場合、rakeタスクから早く戻りたいので、残りのコードを実行したくありません。 解決策は、コードから戻りたい場所にリターンを配置することだと思いましたが、次のエラーが発生します unexpected return
226 ruby  rake 

5
rake db:migrateを使用して1ステップだけをロールバックする方法
db/migrateフォルダーに移行ファイルを追加して実行した後rake db:migrate、前のステップに戻りたいのですが、それVERSION=nを行うには正しい方法だと思いますが、使用するnの正しい値がわかりません。現在のn値を確認​​するコマンドはありますか? 誰もが使用方法についての完全な指示を提供できればそれは素晴らしいでしょうrake db:migrate。

19
Ruby on RailsとRakeの問題:初期化されていない定数Rake :: DSL
本当にイライラする問題があります。Rakeは馬鹿げています。 問題が発生する方法は次のとおりです。 $ rails new test_app $ rails generate scaffold new_scaffold field1:string field2:text どちらも問題なく動作しますが、これを実行すると、 $ rake db:migrate 次のエラーが表示されます。 (in /home/mikhail/test_app) rake aborted! uninitialized constant Rake::DSL /usr/lib/ruby/1.9.1/rake.rb:2482:in `const_missing' /usr/lib/ruby/gems/1.9.1/gems/rake-0.9.0/lib/rake/tasklib.rb:8:in `<class:TaskLib>' /usr/lib/ruby/gems/1.9.1/gems/rake-0.9.0/lib/rake/tasklib.rb:6:in `<module:Rake>' /usr/lib/ruby/gems/1.9.1/gems/rake-0.9.0/lib/rake/tasklib.rb:3:in `<top (required)>' /usr/lib/ruby/gems/1.9.1/gems/rake-0.9.0/lib/rake/rdoctask.rb:20:in `require' /usr/lib/ruby/gems/1.9.1/gems/rake-0.9.0/lib/rake/rdoctask.rb:20:in `<top (required)>' /usr/lib/ruby/gems/1.9.1/gems/railties-3.0.7/lib/rails/tasks/documentation.rake:1:in `require' /usr/lib/ruby/gems/1.9.1/gems/railties-3.0.7/lib/rails/tasks/documentation.rake:1:in `<top (required)>' /usr/lib/ruby/gems/1.9.1/gems/railties-3.0.7/lib/rails/tasks.rb:15:in `load' /usr/lib/ruby/gems/1.9.1/gems/railties-3.0.7/lib/rails/tasks.rb:15:in `block in <top …

7
Ruby 1.9.2が「。」を削除する理由 LOAD_PATHから、そして代替は何ですか?
Ruby 1.9.2の最新のチェンジセットでは、現在のディレクトリがの.一部になりませんLOAD_PATH。私はそれ.がの一部であると想定しているRakefileの重要な数を持っているLOAD_PATHので、これはそれらを壊しました(プロジェクトパスに基づくすべてのrequireステートメントで「ロードするファイルがありません」と報告されました)。これを行う正当な理由はありましたか? 修正に関しては、$: << "."どこにでも追加することは機能しますが、信じられないほどハックに思え、私はそれをしたくありません。Rakefiles 1.9.2+と互換性を持たせるための好ましい方法は何ですか?
154 ruby  rake  require  load-path 

8
Rake 0.9.0を使用した未定義のメソッド「タスク」
Rakeを最新バージョン(0.9.0.beta.4)に更新したところ、rakeコマンドは次のエラーメッセージで終了しました。 rake aborted! undefined method `task' for #<Anelis::Application:0x9223b6c> ここにトレースがあります: undefined method `task' for #<Anelis::Application:0x97ef80c> /usr/local/rvm/gems/ruby-1.9.2-p136/gems/railties-3.0.3/lib/rails/application.rb:214:in `initialize_tasks' /usr/local/rvm/gems/ruby-1.9.2-p136/gems/railties-3.0.3/lib/rails/application.rb:139:in `load_tasks' /usr/local/rvm/gems/ruby-1.9.2-p136/gems/railties-3.0.3/lib/rails/application.rb:77:in `method_missing' /home/amokrane/Documents/prog/web/learning_rails/anelis/Rakefile:7:in `load_string' /usr/local/rvm/gems/ruby-1.9.2-p136/gems/rake-0.9.0.beta.4/lib/rake/environment.rb:28:in `eval' /usr/local/rvm/gems/ruby-1.9.2-p136/gems/rake-0.9.0.beta.4/lib/rake/environment.rb:28:in `load_string' /usr/local/rvm/gems/ruby-1.9.2-p136/gems/rake-0.9.0.beta.4/lib/rake/environment.rb:16:in `load_rakefile' /usr/local/rvm/gems/ruby-1.9.2-p136/gems/rake-0.9.0.beta.4/lib/rake/application.rb:495:in `raw_load_rakefile' /usr/local/rvm/gems/ruby-1.9.2-p136/gems/rake-0.9.0.beta.4/lib/rake/application.rb:78:in `block in load_rakefile' /usr/local/rvm/gems/ruby-1.9.2-p136/gems/rake-0.9.0.beta.4/lib/rake/application.rb:129:in `standard_exception_handling' /usr/local/rvm/gems/ruby-1.9.2-p136/gems/rake-0.9.0.beta.4/lib/rake/application.rb:77:in `load_rakefile' /usr/local/rvm/gems/ruby-1.9.2-p136/gems/rake-0.9.0.beta.4/lib/rake/application.rb:61:in `block in run' /usr/local/rvm/gems/ruby-1.9.2-p136/gems/rake-0.9.0.beta.4/lib/rake/application.rb:129:in `standard_exception_handling' /usr/local/rvm/gems/ruby-1.9.2-p136/gems/rake-0.9.0.beta.4/lib/rake/application.rb:59:in `run' /usr/local/rvm/gems/ruby-1.9.2-p136/gems/rake-0.9.0.beta.4/bin/rake:31:in `<top (required)>' /usr/local/rvm/gems/ruby-1.9.2-p136/bin/rake:19:in …


5
NoMethodError:rake 11へのアップグレード後の未定義のメソッド `last_comment '
rakeタスクを実行すると、次のようになります。 NoMethodError:未定義のメソッド「last_comment」 その後bundle update、rakeの新しいバージョンversionが導入されました11.0.1。 $ grep rake Gemfile.lock rake rake (>= 0.8.7) rake (11.0.1) rake $ bundle update $ bundle exec rake db:drop # any rake task NoMethodError:#<Rake :: Application:0x007ff0cf37be38>の未定義のメソッド `last_comment ' バージョン Rails 3.2.11 レーキ11.0.1

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.