Ruby on Rails 中文 Wiki
如何深入学习Rails框架数据库移植技术

<< 如何理解Rails框架数据库移植技术 | 如何借助于数据库移植(Migrations)技术自动生成数据库模式(Schema)? >>

鸣谢

本教程由“道喜”: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应用软件开发必须工具之一。进一步理解Rails框架数据库移植技术是本内容的重点。
  2. 我们创建项目的完整代码 migrate_schema_understand.zip

解决方案:

1. 创建一个名称为 migrate_schema_console 项目,其命令如下:

rails migrate_schema_console

2. 针对Rails框架应用软件,修改关于SQLite3数据库配置文件database.yml:

development:
  adapter: sqlite3
  database: ms_console.db

test:
  adapter: sqlite3
  database: ms_console.db

production:
  adapter: sqlite3
  database: ms_console.db

3. 利用Rails框架代码生成器,创建模型Lesson:

ruby script/generate model Lesson

并且修改相关代码 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. 下面通过使用Rails框架的控制台,来创建(也可以删除,命令Create Lessons?.down)数据库表。:

ruby script/console
require 'db/migrate/001_create_lessons.rb'
CreateLessons.up
exit

说明:通过使用Rails框架的控制台和Ruby语言移植代码,可以对数据库进行任意的控制。

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

      sqlite3 ms_console.db
      .dump
      .exit

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

ruby script/generate scaffold Lesson admin

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

ruby script/server

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

http://localhost:3000/admin/new