Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/53.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
rails支持mysql json数据类型吗_Mysql_Ruby On Rails_Activerecord - Fatal编程技术网

rails支持mysql json数据类型吗

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

我知道,在rails中,我们可以对mysql中要保存哈希或数组的列使用文本数据类型,rails将哈希序列化为yaml格式并保存在列中

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本机类型进行后台移植。