我试图通过使用不同的包(ActiveRecord、ActiveSupport)而不使用Rails gem来学习Rails。
不过,我不知道如何创建包含三个类的数据库。
这是我的耙子:
require 'rubygems'
require 'activerecord'
require 'yaml'
task :default => :migrate
desc "Migrate the database through scripts in db/migrate. Target specific version with VERSION=x"
task :migrate => :environment do
ActiveRecord::Migrator.migrate('db/migrate', ENV["VERSION"] ? ENV["VERSION"].to_i : nil )
end
task :environment do
ActiveRecord::Base.establish_connection(YAML::load(File.open('database.yml')))
ActiveRecord::Base.logger = Logger.new(File.open('database.log', 'a'))
end
我有三个文件:
001_create_appearances.rb 001_create_movies.rb 001_create_actors.rb
我过去都成功地运行过它,每个都只是从ActiveRecord::Migration继承并执行self.up/self.down。
然而,我有一个问题,当我运行rake时,它返回“多次迁移的版本号为1”。我是否应该将所有迁移打包到一个文件中,如001_create_database.rb?
是否有手册描述这些版本是如何工作的?
我试着阅读migrator.rb的源代码,但找不到没有基准测试的up\u/没有基准测试的down\u的位置。