WEB开发网
开发学院数据库MySQL 用Rails中Rake管理MySQL数据库 阅读

用Rails中Rake管理MySQL数据库

 2008-02-19 11:06:11 来源:WEB开发网   
核心提示: 事实上,当在Rails下创建一个新的model时,用Rails中Rake管理MySQL数据库(2),会自动的创建Migration文件,例如,例如,想另外创建一张表,创建一个contact模型时,在项目的db目录下

事实上,当在Rails下创建一个新的model时,会自动的创建Migration文件。例如,创建一个contact模型时,在项目的db目录下,即可发现一个名为001_create_contacts.rb的文件,其内容如下所示:

  classCreateContacts<ActiveRecord::Migration
  defself.up
  create_table:contactsdo|t|
  end
  end
  defself.down
  drop_table:contacts
  end
  end

如果想要创建数据表,可以把以上内容修改成如下内容:

  classCreateContacts<ActiveRecord::Migration
  defself.up
  create_table:contactsdo|t|
  t.column:name,:string,:null=>false
  t.column:email,:string
  t.column:phone,:string,:limit=>10,:null=>false
  end
  end
  defself.down
  drop_table:contacts
  end
  end

现在可以使用Migration功能了,在项目的目录下运行如下的Rake命令:

  %>rakedb:migrate

现在登陆MySQL数据库中,可以看到,contacts表已经创建好了。那么,如果想撤消刚才的创建要怎么办呢?要回滚上面的操作可以使用VERSINO选项。因为数据移植功能的工作原理与版本控制工具很相似,你可以将数据库回滚到一个早期的版本。版本号是由数据移植脚本所提供的数字来确认的:

 %>rakedb:migrateVERSION=0

再次登陆MySQL数据库,可以看到contacts表已经删除掉了。此外,如果想进行其它一些更加复杂的操作时,自然而然想到通过创建另一个migrations。例如,想另外创建一张表,或修改字段的数据类型等。可能在项目的目录下运行如下的代码来创建一个新的migration文件: 

上一页  1 2 3 4  下一页

Tags:Rails Rake 管理

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接