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文件,其中的内容如下:
class CreateProducts< 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命令重新建立数据库表