9/12/2006

使用 migrate 將 MySQL db porting 到 sqlite

Migrate 就是Rails 提供的工具
簡單的說法就是使用 Ruby 寫 SQL code
他有很多用法
不過到最後我還是直接用 phpMyAdmin 去寫
因為他無法做到一些 DB Schema 的微調
(像是 enum 之類的東西)
至於 version 的部份,也可以用 svn 去做
所以感覺不是特別實用

但是他有一個功能很偉大
就是他可以做到 跨平台的 DB Schema porting
VIVA ,Rails 萬歲

我們來使用看看吧
操作方式是從 MySQL porting 到 SQLite
(記得將 config database.yml 設定正確)

1. 在MySQL機器上面的 Rails 目錄下
rake db_schema_dump
他會將所有的schema 轉換成 db/schema.rb

2. 在另外一個SQLite Rails 的目錄下
將剛剛export出來的 schema.rb 放入 db/ 底下
rake db_schema_import

他會將 schema.rb 裡面的 migrate code 轉換成 SQLite 的 sql
然後 import 進去 SQLite 的資料庫


如此就可以很簡單的做到 跨 DB 的 Schema import

沒有留言: