2009-07-01 62 views
1

我正試圖在Ramaze設置遷移。我主要來自Rails的東西,但我想給其他東西一個鏡頭。無論如何,我的項目中有一個名爲「migrations」的目錄,其中包含一個start.rb文件,然後是我的遷移。這裏的start.rb:Ramaze與續集遷移?

require File.expand_path('../app.rb', File.dirname(__FILE__)) 
require 'sequel/extensions/migration.rb' 

Sequel::Migrator.apply(DB, '.') 

現在,首先,我不知道爲什麼我不能只是做

Sequel::Model.plugin(:migration) 

的而不是長期需要,但它似乎是工作,所以我並不擔心它太多。主要問題是我的遷移沒有實際運行。它創建schema_info表,所以我知道它嘗試工作,但它只是無法找到我的000_initial_info.rb文件在那裏在同一目錄中。

我真的找不到任何文件,所以這是我自己的解決方案。我很樂意聽到其他解決方案,如果我只是想解決這一切問題。謝謝你的幫助!

回答

2

您不能使用Sequel :: Model.plugin:遷移,因爲遷移不是模型插件,它是一個核心擴展,這將起作用:

Sequel.extension:遷移

續集自帶的bin /續集的工具,你可以用它來運行帶有-m開關遷移:

續集-m /路徑/到/應用/遷移

除非您有特殊需求,否則我建議使用它。

您的設置的問題之一可能是您開始在000遷移。在001開始他們,它可能會更好。

有用於遷移RDoc文檔:

http://sequel.rubyforge.org/rdoc-plugins/classes/Sequel/Migrator.html

+0

我正在考慮使用該工具,但我不喜歡在命令行中指定我的數據庫連接參數的想法,因爲我已經將它們寫入了init文件。另外,我喜歡在我的遷移中訪問整個應用程序(Rails風格)。 這是我的瘋狂編號,搞砸了!我總是以0開頭的數字。:D現在它完美地工作。謝謝! – 2009-07-02 18:23:50