我创建了一个没有主键的表 (:id => false),但现在它又回来了。
我的应用程序已经投入生产,我不能只是放弃它并重新创建另一个应用程序。
有没有办法运行迁移以将另一个自动增量主键列添加到我的表中?
在迁移中添加主键的命令是:
add_column :my_table, :id, :primary_key
但是,您问题的措辞表明您的表已经有一个自动增量列。除非我弄错了,否则有几种 DBMS 不允许在一张表上有多个自动增量列。
如果您已经有一个自动增量列并且您实际上想使用该列作为主键,只需将以下内容添加到您的模型中:
set_primary_key "my_existing_column"
或者在最新版本的 Rails 中:
self.primary_key = "my_existing_column"
如果您已经有一个自动增量列并且无法将其用作主键,那么您可能会运气不好。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)