Rails 6、ActiveRecord和Mysql 8、如何设置一个字符串字段的长度为512个字符?

Rails 6, ActiveRecord and Mysql 8, how set the length of a string field to 512 chars?

有许多示例解释了如何创建不同长度的文本字段,但只有这些选项:

我找到的所有参考资料都很旧(> 3 年)。这仍然有效吗?

我想创建一个 512 个字符的字符串字段。我应该去 Text 专栏吗?看起来像是在浪费 space。我可以创建一个 512 字节的特定字段吗?

看起来在新版本中 Mysql 文本字段允许更精细的字段大小。

如果我在迁移中这样做:

change_column :scrapers, :url, :string, limit: 512

我在 sql 日志中看到了这个:

ALTER TABLE `scrapers` CHANGE `url` `url` varchar(512) NOT NULL

mysql table 结构中的这个:

`url` varchar(512) COLLATE utf8mb4_bin NOT NULL,