作者:chenk85 来源:JavaEye 酷勤网收集 2008-05-13
摘要
Rails 2.1 的三个新特性:script/dbconsole 脚本允许用户使用Rails的控制台客户端连接到数据库;ActiveRecord migrations 的新方法 change_table ;Rails2.1新特性之ActiveRecord::Base.create的变化。其他新特性 如:内建的时区支持,GEM包依赖关系分享等
robbin 写道
Rails 2.1的第一个预览版本发布了,你可以从以下方式进行安装:
sudo gem install rails –source http://gems.rubyonrails.com/
Rails 2.1提供了很多新特性,例如:内建的时区支持,GEM包依赖关系分享,更好的缓存系统支持等等
sudo gem install rails –source http://gems.rubyonrails.com/
Rails 2.1提供了很多新特性,例如:内建的时区支持,GEM包依赖关系分享,更好的缓存系统支持等等
Rails 2.1 的三个新特性
script/dbconsole
script/dbconsole 脚本允许用户使用Rails的控制台客户端连接到数据库。
如果需要连接到MySQL的生产数据库作一些操作,直接运行 RAILS_ENV=production script/dbconsole 就能登录到数据库服务器上并使用MySQL的命令行客户端。当然,这个脚本也同样在 PostgreSQL 和 SQLite 数据库运行。
要在当前Rails应用程序中使用这个新脚本,就要先升级到edge Rails,再运行 rake rails:update:script 。好好享受这个脚本的便利吧。
ActiveRecord migrations 的新方法 change_table
现在可以通过 change_table 代码块来完成对数据库表的修改。
Java代码 
- change_table :videos do |t|
- t.add_timestamps
- t.add_belongs_to :goat
- t.add_string :name, :email, :limit => 20
- t.remove_column :name, :email # takes multiple arguments
- t.rename :new_name
- t.string :new_string_column # executes against the renamed table name
- end
change_table :videos do |t|
t.add_timestamps
t.add_belongs_to :goat
t.add_string :name, :email, :limit => 20
t.remove_column :name, :email # takes multiple arguments
t.rename :new_name
t.string :new_string_column # executes against the renamed table name
end
补充些要注意的事情:
* add_XXX 方法会添加一个新列,比如 add_string 会添加一个新的 string 类型的字段。
* Of course, add_timestamps 会添加神奇的 created_at 和 updated_at 的 datetime 类型的字段。
* remove_column 现在可以接受多个参数。
* rename 方法会重命名数据库表。
Rails2.1新特性之ActiveRecord::Base.create的变化
ActiveRecord::Base.create 现在可以像 ActiveRecord::Base.new 一样带上一个代码块参数了。
Java代码 
- @person = Person.create(params[:person]) do |p|
- p.name = 'Konata Izumi'
- p.age = 17
- end

