Rails 2.x アプリを rails 3.0.12 に更新しています。
このアプリは、ブートストラップ gem を使用してデータベースを「シード」しました。gemの元のフォークは Rails 2.x ブランチで停止しているようですが、(理論的には) Rails 3.2 と互換性のあるこの別のフォークを見つけました (3.2 ではなく 3.0.12 に更新していることに注意してください)。
だから、これは私のGemfileが今持っているものです:
gem 'bootstrapper', :git => 'git://github.com/vivrass/bootstrapper.git'
bundle update を実行した後、これは機能しているように見えます... ただし、gem は という新しい rake タスクを追加するはずrake db:bootstrap
であり、実行しても表示されません( oh-my-zsh を介しrake -T db
てエイリアスを作成しました)。bundle exec rake -T db
rake db:create # Create the database from config/database.yml for the current Rails.env (use db:crea...
rake db:drop # Drops the database for the current Rails.env (use db:drop:all to drop all databases)
rake db:fixtures:load # Load fixtures into the current environment's database.
rake db:migrate # Migrate the database (options: VERSION=x, VERBOSE=false).
rake db:migrate:status # Display status of migrations
rake db:rollback # Rolls the schema back to the previous version (specify steps w/ STEP=n).
rake db:schema:dump # Create a db/schema.rb file that can be portably used against any DB supported by AR
rake db:schema:load # Load a schema.rb file into the database
rake db:seed # Load the seed data from db/seeds.rb
rake db:setup # Create the database, load the schema, and initialize with the seed data (use db:res...
rake db:structure:dump # Dump the database structure to an SQL file
rake db:version # Retrieves the current schema version number
レポを確認しましたが、この投稿によると、gem は正しいことをしているようです: - rakeファイルをロードするrailtie.rbファイルがあります - railtie.rb ファイルはlib/bootstraper に含まれています。 rbファイル
それでも、rake タスクは表示されません。
レーキ タスクを gem に追加するプロセスは、Rails 3.0.x から 3.2.x に大幅に変更されましたか?
Ruby 1.9.3 を実行しています。
ありがとう。
編集:
Rails 3.0.12 で空の Rails プロジェクトを新規作成し、Gemfile に行を追加すると、バンドル後に rake タスクが表示されます。これは、新しい Rails 3.0.12 プロジェクトを作成するのではなく、Rails 2.x から更新しているという事実に関連している可能性があります。