PostgreSQL + Rails citext

我正在尝试迁移到使用PostgreSQL 8.4的heroku,它有一个citext列类型,这是很好的,因为该应用程序是为MySQL编写的。

有没有办法使用:带有rails的citext(如果迁移是在MySQL上运行的,那么citext只会使用字符串/文本?

我找到了这张票,但似乎它暂时不会成为rails的一部分: https : //rails.lighthouseapp.com/projects/8994/tickets/3174-add-support-for-postgresql- citext列型

Rails 4.2+

Rails 4.2对citext列类型具有本机支持。

Rails <4.2

如果您使用的是Rails <4.2,则可以尝试使用activerecord-postgresql-citext gem。

这允许您编写这样的迁移:

 def up enable_extension("citext") create_table :models, :force => true do |t| t.citext :name t.timestamps end end 

只是为了记录。 看起来像rails 4.2对此有本机支持。

在PostgreSQL适配器中添加了对citext列类型的支持。

http://guides.rubyonrails.org/4_2_release_notes.html

我很确定Rails只有有限的数据类型词汇。 您可能必须使用良好的老式SQL来处理任何其他类型。