`
tiny.strimp
  • 浏览: 30349 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

Agile Web Development with Rails 3nd Edition学习笔记-向数据库表追加字段

阅读更多
  我们可以使用migration工具在存在的数据库表中追加字段:
 
引用
ruby script/generate migration add_price_to_product price:decimal

  命令执行的命令行显示如下:
 
引用
exists  db/migrate
create  db/migrate/20100417140530_add_price_to_product.rb

  从命令行的显示和数据库中products表的实际数据来看,这条命令执行之后并不真的在数据库的表格中增加一个叫做“price”的字段。而仅仅是生成一个新的名为“20100417140530_add_price_to_product.rb”的文件,以供后面执行“rake db:migrate”命令时使用。
  生成的migrate文件的内容为:
 
class AddPriceToProduct < ActiveRecord::Migration
  def self.up
    add_column :products, :price, :decimal
  end

  def self.down
    remove_column :products, :price
  end
end

  这里up方法用来向products表中追加price字段,而down方法则是从products表中除去该字段。
  我们可以通过在up方法中追加precision、scale和default来限定price的值域范围,修改后的内容为:
 
class AddPriceToProduct < ActiveRecord::Migration
  def self.up
    add_column :products, :price, :decimal,
      :precision => 8, :scale => 2, :default => 0
  end

  def self.down
    remove_column :products, :price
  end
end

  其中,“:precision => 8”表示price可以使用8个数字;“:scale => 2”表示小数点后可以有2位数字;“:default => 0”表示默认值为0。
  这样price的值域范围就是[-999999.99, 999999.99],而默认值为0。

  现在,我们把这项修改提交到我们的数据库中:
 
引用
rake db:migrate

  执行该命令后用MySQL的Table Editor查看products表的字段,可以看到已经增加了price字段。并且该字段的信息如下:
 
Column NameData TypeNOT NULLAUTO INCFlagsDefault ValueComments
priceDECIMAL(8,2)falsefalse‘0.00’

  再看schema_migrations表中的数据,version字段已经添加一条值为“20100417140530”的记录。

  (注:根据书中的说明,在定义金融类型的字段时,应使用decimal类型,而不是float类型。因为float类型有进位问题,不可以用在金融计算上。)

  要显示追加的字段,就需要同时修改depot/app/views/products目录下的4个erb文件,添加相应的字段描述。具体的添加内容参照已有的字段写就好了,这里不再赘述。
  问题:
  没有个简单的方法吗?在一个表中追加一个字段还好啦,要是对多个表进行了大量的追加操作,那光添在erb中添加这些字段的显示代码就很郁闷了。
分享到:
评论

相关推荐

    Agile Web Development with Rails, 2nd Edition

    Agile Web Development with Rails, 2nd Edition &lt;br&gt;有两份PDF文件,大小分别是7.39MB和6.55MB &lt;br&gt;作者: Dave Thomas , David Heinemeier Hansson , Leon Breedt , Mike Clark , James Duncan Davidson ,...

    Agile Web Development with Rails 3nd Edition Beta.pdf

    ### 敏捷Web开发与Rails 3:关键知识点解析 #### 一、Rails版本与兼容性 本书《敏捷Web开发与Rails》第三版是基于Rails 2编写的。截至本书印刷时,当前可用的Rails Gem版本为2.1。书中所包含的所有代码均已在该...

    Agile Web Development with Rails 3nd Edition Beta

    文件列表中的《Agile Web Development with Rails 3nd Edition Beta.pdf》很可能是这本书的电子版,读者可以通过阅读此PDF文件获取完整的学习资料,包括详细的章节讲解、示例代码和练习题,以便在实践中不断巩固和...

    Agile+Web+Development+with+Rails中文版.pdf

    《Agile Web Development with Rails》是一本经典的Rails开发指南,中文版的出版使得更多的中国开发者能够深入理解并应用敏捷开发方法与Ruby on Rails框架。这本书是Rails开发者的必备参考资料,它详细介绍了如何...

    Agile Web Development with Rails 4

    Ruby on Rails helps you produce high-quality, beautiful-looking web applications quickly. You concentrate on creating the application, and Rails takes care of the details., Tens of thousands of ...

    Agile Web Development with Rails 3nd Edition .pdf

    Rails敏捷开发第三版,很不错的rails入门书,对初学rails的人很有用

    Agile Web Development with Rails-Second Edition-Beta一书例子

    《Agile Web Development with Rails-Second Edition-Beta》是一本专注于使用Ruby on Rails进行敏捷Web开发的书籍。这本书的第二版beta版提供了关于如何利用Rails框架高效构建动态、响应式网站的深入指导。作者们...

    Agile Web Development with Rails,Fourth Edition 第四版

    《敏捷Web开发与Rails》第四版是一本专为软件开发者设计的权威指南,全面涵盖了使用Ruby on Rails框架进行敏捷Web应用开发的知识。Rails 3是该版本的重点,它引入了许多新特性和改进,使得开发过程更为高效且灵活。...

    Agile Web Development with Rails 4th edition(敏捷Web开发与Rails:程序指南 第四版)

    《敏捷Web开发与Rails:程序指南 第四版》是一本深度探讨使用Ruby on Rails框架进行敏捷Web应用开发的专业书籍。本书旨在帮助开发者充分利用Rails 4的特性,提高开发效率,实现快速迭代和高质量的代码编写。 Rails是...

    Agile Web Development with Rails

    书中的"Pragmatic.Bookshelf.Agile.Web.Development.with.Rails.2nd.Edition.Dec.2006.eBook-BBL"可能是该书籍的电子版文件,它包含了全书的章节和内容。读者可以通过这个电子版深入学习Rails开发的各种技巧和最佳...

    Agile Web Development with Rails 1-14节_ppt(老师发的修正版)

    Agile Web Development with Rails 1-14节_ppt(老师发的修正版)

    Agile Web Development with Rails, Third Edition 2009 (PDF + 代码)

    Agile Web Development with Rails, Third Edition by Sam Ruby, Dave Thomas, David Heinemeier Hansson Rails just keeps on changing. Rails 2, released in 2008, brings hundreds of improvements, including...

    Agile Web Development with Rails 2nd Edition源码

    《敏捷Web开发与Rails 2nd Edition》源码解析 在Web开发领域,Rails框架以其高效、灵活和生产力提升的特点,成为了许多开发者首选的工具。《敏捷Web开发与Rails 2nd Edition》这本书深入浅出地介绍了如何使用Ruby ...

    Agile Web Development with Rails (PDF)

    《敏捷Web开发与Rails》是一本深度探讨如何利用Ruby on Rails框架进行敏捷Web开发的指导书籍,由Dave Thomas、David Heinemeier Hansson等多位在Rails社区有着深厚贡献的作者共同编写。本书不仅覆盖了Rails的基本...

Global site tag (gtag.js) - Google Analytics