使用Rails,如何将主键设置为不是整数类型的列?

使用Rails,如何将主键设置为不是整数类型的列?

我正在使用Rails迁移来管理数据库模式,我正在创建一个简单的表,我希望使用非整数值作为主键(特别是字符串)。为了从我的问题中抽象出来,让我们说有一个表格employees,其中员工用字母数字字符串标识,例如"134SNW"

我试过在这样的迁移中创建表:

create_table :employees, {:primary_key => :emp_id} do |t|
    t.string :emp_id
    t.string :first_name
    t.string :last_nameend

这给了我什么似乎完全忽略了这条线t.string :emp_id并继续前进并使它成为一个整数列。有没有其他方法让rails为我生成PRIMARY_KEY约束(我正在使用PostgreSQL),而不必在execute调用中编写SQL ?

注意:我知道最好不要使用字符串列作为主键,所以请不要回答只是说添加一个整数主键。无论如何我可以添加一个,但这个问题仍然有效。


胡子哥哥
浏览 673回答 3
3回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

SQL Server
Ruby