2012-04-23 85 views
1

我正在使用dm-migrations爲我的數據庫創建自定義遷移。如何使用Datamapper遷移來調整postgreSQL數據庫中的列長度?

但是,我似乎無法找到修改列長度的示例。有人可以解釋這是如何完成的?我使用的是軌道3 PostgreSQL數據庫

UPDATE:

我已經試過如下:

migration 1, :modify_course_url_length do 
    up do 
    modify_table :hotels do 
     change_column :url, String, :length => 255 
    end 
    end 
end 

,但它看起來好像我需要得到change_column_type_statement的方法,因爲它的工作postgresql數據庫。

更新2:

看來問題是,輸出的SQL是:

ALTER TABLE 「酒店」 ALTER COLUMN 「URL」 VARCHAR(255)

,同時它需要

ALTER TABLE「hotels」ALTER COLUMN「url」TYPE VARCHAR(255)

任何人對此有何看法?

回答

1

你可以只寫遷移的原始SQL代替,像這樣......

migration 1, :modify_course_url_length do 
    up do 
    execute(<<-SQL) 
    ALTER TABLE hotels ALTER COLUMN url TYPE VARCHAR(255) 
    SQL 
    end 
end 
相關問題