我正在将 rails 2.x 应用程序更新到 rails 3.0.12。
这个应用程序使用引导程序 gem 来“播种”数据库。gem的原始分支似乎已停止在 rails 2.x 分支中,但我发现另一个分支(理论上)与 rails 3.2 兼容(请注意,我正在更新到 3.0.12,而不是 3.2)。
所以这就是我的 Gemfile 现在拥有的:
gem 'bootstrapper', :git => 'git://github.com/vivrass/bootstrapper.git'
运行捆绑更新后,这似乎工作......除了 gem 应该添加一个名为 的新 rake 任务rake db:bootstrap
,并且在我执行时它不会出现(我通过 oh-my-zshrake -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
我检查了 repo,根据这篇文章,gem 似乎在做正确的事情: - 它有一个railtie.rb文件,用于加载rake 文件 - railtie.rb 文件包含在lib/bootstraper 中。 .rb 文件
然而,rake 任务并没有出现。
将 rake 任务添加到 gem 的过程是否从 rails 3.0.x 更改为 3.2.x?
我正在运行 ruby 1.9.3。
谢谢。
编辑:
我在rails 3.0.12新建了一个空的rails项目,在Gemfile上添加了这行,打包后出现rake任务。这可能与我从 rails 2.x 更新而不是创建全新的 rails 3.0.12 项目这一事实有关。