Ruby on Rails(ROR) 小结(一) 通过Schema Migrations来创建数据表

来源:互联网 发布:第一次啪啪你多大知乎 编辑:程序博客网 时间:2024/04/28 01:37

 

1) 创建项目

E.g.

rails photos

cd photos

 

2) 创建数据库

mysql>create database photos_develop

 

3) 配置数据库

相关的配置文件已经在前面讲过, 这里就不再赘述。

 

4) 创建数据模型对象

>ruby script/generate model Photo

 

result:

    在 app/models 产生photo.rb数据库模型对象

    在 db/migrate 创建20100120134503_create_photos.rb

修改20100120134503_create_photos.rb如下:

class CreatePhotos < ActiveRecord::Migration
  def self.up
    create_table "photos" do |t|
      t.column "filename", :string
     
      #photo.timestamps
    end
  end

  def self.down
    drop_table "photos"
  end
end

 

Schema migrations 的功能是记录一个migration列表, 每个migration 有相关的版本编号。 up方法创建具有两个字段(filename, id)的photo数据表,还有一个down方法可以将之移除。每个schema migration 都执行(do)及撤销(undo)改变的一些步骤,

同时还可以包含对数据所做的改变。

 

5) 运行migration

>rake db:migrate

 

Active Record 创建了两张数据表: schema_info 和 photos。

 

6)通过Rails控制台测试

ruby script/console

 

>>photo =Photo.new

=>...

>>photo.filename = "test"

=>...

>>photo.save

=>...

 

或者在Active Record类上的new方法编写代码块,在控制台编写也可以

photo.new do |you|

you.filename = "name"

you.save

end