Ruby on Rails总结(五)

来源:互联网 发布:淘宝客服兼职是真的吗 编辑:程序博客网 时间:2024/04/27 14:50

1、命令

(1)rake db :migrate:redo撤销和重新应用最后一次迁移。

 

2、数据库相关

         如果使用的数据库是sqlite3并且系统是win764位系统,则创建完项目之后要到项目的根目录下的Gemfile.lock文件中将sqlite3 (1.3.8-x86-mingw32)改为sqlite3 (1.3.8-x64-mingw32)因为在win764位系统下默认安装的是64位的sqlite3数据库。

(1)创建数据库相关

         可以为数据库表创建模型、视图、控制器和迁移。在Rails中可以用一条命令完成所有的工作。对于给定的模型,Rails可生成脚手架。注意:命令行中输入的是单数形式。在Rails中,如果表名是该模型类的复数形式,那模型会自动映射到数据库库表。例如:模型叫product,那Rails就将模型映射到名为products表上。

 

(2)创建数据库表

         命令:rails  generate scaffold  Product title:String  description:text  image_url:String

price:decimal  这条命令式创建一个products表,其中有title、description、image_url和price字段。

         输入以上命令后,在项目的db/migrate目录下会生成一个20131216081316_create_products.db文件,其中的内容如下:

classCreateProducts< ActiveRecord::Migration

  def change

    create_table :products do |t|

     t.string :title

     t.text :description

     t.string :image_url

     t.decimal :price

     t.timestamps

    end

  end

 

  def self.down

    drop_table:products;

  end

end

   如果想完善price字段,让其有8为有效数字,其中小数部分有2为,则修改后的内容如下:

   class CreateProducts <ActiveRecord::Migration

  def change

    create_table :products do |t|

     t.string :title

     t.text :description

     t.string :image_url

     t.decimal :price,:precision =>8, :scale=>2 #公有8位有效数字,小数点后有两位

 

     t.timestamps

    end

  end

 

  def self.down

    drop_table:products;

  end

end

   这样,迁移程序的修改已经完成,可以用rake命令让rails在开发数据库中应用此迁移。

   例如:用rake命令将所有尚未执行的迁移应用到数据库中则输入以下命令:

   rake db:migrate

 

(3)raketest命令

   生成单元、功能和集成测试;

 

(4)可以通过rails向数据库中导入种子数据

   在项目的db/migrate目录下与数据库文件在同一级目录下,有一个seeds.rb种子文件,如果要想向数据库中导入测试数据,则可以在seeds.rb文件中写入相应的代码后,在命令行输入rake db:seed命令来导入测试数据,(输入rake db:seed命令则会删除数据库中以前的数据)

 

(5)回滚迁移命令 rake db:rollback

   使用此命令会删除数据库中相应的表,此时,使用 rake db:migrate命令重新建立数据库表

0 0