如何解决Rails 6、ActiveRecord 和 Mysql 8,如何将字符串字段的长度设置为 512 个字符?
有很多例子解释了如何创建不同长度的文本字段,但只有这些选项:
- Tiny:256 字节(Rails 中的字符串等价物)
- 文本:65_535 字节(相当于 Rails 中的文本)
- 中文本:16_777_215 字节
- 长文本:4_294_967_295 字节
我找到的所有参考文献都非常古老(> 3 岁)。这仍然有效吗?
我想创建一个 512 个字符的字符串字段。我应该选择 Text
列吗?看起来很浪费空间。我可以创建一个 512 字节的特定字段吗?
解决方法
看起来在新版本中,Mysql 文本字段允许字段大小有更多的粒度。
如果我在迁移中这样做:
change_column :scrapers,:url,:string,limit: 512
我在 sql 日志中看到了这一点:
ALTER TABLE `scrapers` CHANGE `url` `url` varchar(512) NOT NULL
这是mysql表结构中的:
`url` varchar(512) COLLATE utf8mb4_bin NOT NULL,
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。