14
使用Rails,如何将主键设置为非整数类型的列?
我正在使用Rails迁移来管理数据库模式,并且正在创建一个简单的表,在该表中我想使用非整数值作为主键(特别是字符串)。为了简化我的问题,我们假设有一个表employees,其中的员工由字母数字字符串标识,例如"134SNW"。 我试过在这样的迁移中创建表: create_table :employees, {:primary_key => :emp_id} do |t| t.string :emp_id t.string :first_name t.string :last_name end 这给了我什么,似乎它完全忽略了该行t.string :emp_id,并使其成为整数列。还有其他方法可以让rails为我生成PRIMARY_KEY约束(我正在使用PostgreSQL),而不必在execute调用中编写SQL吗? 注意:我知道最好不要将字符串列用作主键,所以请不要回答只是说要添加一个整数主键。我仍然可以添加一个,但是这个问题仍然有效。