Ruby on Rails 中文 Wiki
如何简单使用Rails框架数据库移植技术

<< 数据移植和数据模式应用教程 | 如何理解Rails框架数据库移植技术 >>

鸣谢

本教程由“道喜”:http://www.hhtong.com 提供,特别鸣谢!

系统环境:

  1. Ruby 语言 1.8.4版本, 点击这里Ruby1.8.4
  2. Rails 框架 1.1.2版本
  3. Windows XP 或者 Windows 2000操作系统 或者 Linux操作系统
  4. 需要一个浏览器,如FireFox1.5.0.1
  5. 开发编辑工具 Notepad2 ,安装方法请单击这里,复制一个notepad2.exe,并且更名为vi.exe
  6. 在Windows下安装Sqlite3说明,请单击这里

前提条件:

  1. 在本机Winodw操作系统上,我们的工作目录为d:\works_rails。
  2. 你的电脑必须在线。

目的:

  1. 介绍如何最简单地使用Rails框架的数据库移植技术,从中了解什么是Rails框架的数据库移植技术。
  2. 我们创建项目的完整代码 migrate_schema_simple.zip

解决方案:

1. 在命令行状态下,创建一个名称为 migrate_schema_simple 项目,其命令如下:

 
rails migrate_schema_simple

2. 修改Rails框架针对Sqlite3数据库配置文件database.yml:

development:
  adapter: sqlite3
  database: ms_simple. db

test:
  adapter: sqlite3
  database: ms_simple. db

product ion:
  adapter: sqlite3
  database: ms_simple. db

3. 利用Rails框架代码生成器,创建模型Lesson,并且修改相关代码 001_create_lessons.rb:

ruby script/generate model Lesson

编辑新创建的 Lesson 数据移植类,文件位于 db/migrate/001_create_lessons.rb
编辑成以下内容:

class CreateLessons < ActiveRecord::Migration
  def self.up
    create_table :lessons do |t|
      t.column :title, :string
      t.column :text, :string
    end
  end

  def self.down
    drop_table :lessons
  end
end

4. 针对上面配置的数据库,执行下面的移植命令,它根据上面Ruby语言代码创建数据库表:

rake migrate

5. 现在看看数据库创建的结果:

sqlite3 ms_simple.db
.dump
.exit

6. 通过下面的命令,再一次验证上面一切是否正确:

ruby script/generate scaffold Lesson admin

7. 在DOS-Shell中输入如下命令,启动网络服务器WEBrick:

ruby script/server

8. 在浏览器的地址栏中输入下面网址,你就可以看到相关内容:
http://localhost:3000/admin/new

参考资料:

  1. http://rubyonrails.org/api/classes/ActiveRecord/Migration.html
  2. http://glu.ttono.us/articles/2005/10/27/the-joy-of-migrations
  3. http://jamis.jamisbuck.org/articles/2005/09/27/getting-started-with-activerecord-migrations
  4. http://rails.techno-weenie.net/tip/2006/1/7/rake_migrate_with_a_relative_version_number
  5. http://garrettsnider.backpackit.com/pub/367902