rails支持mysql json数据类型吗
我知道,在rails中,我们可以对mysql中要保存哈希或数组的列使用文本数据类型,rails将哈希序列化为yaml格式并保存在列中rails支持mysql json数据类型吗,mysql,ruby-on-rails,activerecord,Mysql,Ruby On Rails,Activerecord,我知道,在rails中,我们可以对mysql中要保存哈希或数组的列使用文本数据类型,rails将哈希序列化为yaml格式并保存在列中 class A < ActiveRecord::Base serialize :data, Hash end class A
class A < ActiveRecord::Base
serialize :data, Hash
end
class A
但是,如果我需要对该列执行一些搜索,我必须加载所有记录并反序列化所有哈希,并使用ruby在哈希中进行搜索。那么有没有办法告诉mysql在散列中搜索并返回匹配的记录呢?我认为正常的yaml序列化不支持这一点,因为它只是一个文本,所以rails是否支持mysql json数据类型或解决此问题的任何其他解决方案?看起来rails 5本机应该支持mysql json数据类型。这里有一个pull请求对其进行了描述 看起来您可以将其添加到
create\u table
或change\u table
:
create_table :json_data_type do |t|
t.json :settings
end
那么Rails4.2.x呢?似乎它不在4.2中:对于Rails4.x,您可以使用这个gem来对JSON本机类型进行后台移植。