ruby-on-rails - 将主键添加到 Rails 中的现有字段

标签 ruby-on-rails postgresql migration

从前,我制作了一个没有 id 的连接表:

create_table :products_stores, id: false do |t|
  t.belongs_to :app
  t.belongs_to :product
end

后来我想用它来表示每个产品的位置:

rename_table :products_stores, :inventories
add_column :inventories, :position, :integer

并且错误地添加了主键:

add_column :inventories, :id, :integer, primary: true

而不是:

add_column :inventories, :id, :primary_key

如何解决此问题,或者换句话说,如何向现有列添加主键?

最佳答案

我最终这样做了:

execute('ALTER TABLE inventories ADD PRIMARY KEY (id);')

关于ruby-on-rails - 将主键添加到 Rails 中的现有字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22207007/

相关文章:

mysql - 是否可以从数据库转储生成 knex 种子文件?

javascript - 类型错误 : Comments is undefined

ruby-on-rails - Rails将所有路由默认设置为: :json格式

iphone - 将核心数据存储从一个应用程序导入到另一应用程序

migration - 我可以批量更新 VSTS 构建管道定义吗?

django - 如何使用 django 确保数据库更改可以轻松地通过 DVCS 移动

ruby-on-rails - 部署时的 bundle 程序错误

ruby-on-rails - 如何查询Mongoid,“哪里不为空”?

sql - Postgresql - 查询问题

sql - 更新另一个表中 hstore 列中的现有行