如何使用迁移文件向Rails中的表中的列添加数据库级别唯一约束?

如何使用其迁移向Rails中的表中的列添加数据库级别唯一约束? 我用谷歌搜索,但这些答案似乎涉及索引,我不想触摸索引,因为我不确定它是否会产生不良副作用(因为stackoverflow.com/a/3370333/6359753有评论说它会有存储影响)。 我必须拥有它并且会产生不良副作用吗?

这就是为什么即使我已经阅读了一个迁移来为列的组合添加唯一约束但仍然在问这个问题。

是的,唯一索引是唯一约束的必要部分:索引是[有效]强制执行约束的方式。

单独创建唯一索引并不总是在技术上创建约束,但这几乎总是无关紧要的区别。