ActiveRecord :: PGEnum Rails中的enum功能具有不良的开发人员人体工程学。 它在DB层使用整数类型,这意味着试图理解SQL输出是一件很痛苦的事情。 使用辅助语法的简单形式是一个小步枪: enum status : %w[ new active archived ] 上面的代码并不依赖于顺序,但这并不是很明显,但是如果您决定在末尾以外的任何地方添加新的枚举,则会遇到麻烦。 如果选择使用varchar字段,则现在必须编写烦人的检查约束并失去有效的存储。 enum status : { new : "new" , active : "active" , arc