如何在Rails中使用自定义mysql列类型 - varbinary(16)

时间:2015-09-07 08:09:08

标签: mysql ruby-on-rails activerecord ipv6

是否可以设置Rails 4.1.x或4.2.x ActiveRecord以支持MySQL数据库的varbinary(16)列?

我想在varbinary(16)列中存储和访问IPv6地址。 MySQL需要使用INET6_ATON和INET6_NTOA函数转换为二进制文件。

用谷歌搜索过,没有发现任何迹象表明这是可行的或如何做。

我无法使用其他数据库,所以我坚持使用MySQL。

1 个答案:

答案 0 :(得分:0)

如果明确存在限制且小于或等于255个字节,则Rails 4及更高版本将使用VARBINARY

在迁移中,您可以指定:

add_column :my_table, :column_name, :binary, limit: 16

添加此功能是为了提供优于以前使用的BLOB类型的性能优势。 This pull request包含详细信息。