【问题标题】:Change Primary Key Issue Rails 4.0更改主键问题 Rails 4.0
【发布时间】:2014-07-13 22:39:47
【问题描述】:

我按照本指南了解如何更改主键:

http://www.lshift.net/blog/2013/09/30/changing-the-primary-key-type-in-ruby-on-rails-models/comment-page-1

这是我的代码:

class Pk2 < ActiveRecord::Migration
  def up
    remove_column :contracts, :id # remove existing primary key
    rename_column :contracts, :contractId, :id # rename existing UDID column
    execute "ALTER TABLE contracts ADD PRIMARY KEY (id);"
  end

  def down
    # Remove the UDID primary key. Note this would differ based on your database
    execute "ALTER TABLE contracts DROP CONSTRAINT table_pkey;"
    rename_column :contracts, :id, :contractId
    add_column :contracts, :id, :primary_key
  end
end

我不断收到的错误是“围绕 ALTER TABLE 表添加主键的语法”

请帮忙。谢谢。

【问题讨论】:

标签: ruby-on-rails syntax key


【解决方案1】:

答案似乎是 OP 将迁移分为 3 个文件:

1. Remove `:id` column
2. Rename `:contractId` column to `:id`
3. run `execute "ALTER TABLE contracts ADD PRIMARY KEY (id);"`

这允许 OP 成功运行迁移

其他一些资源:

【讨论】:

  • 谢谢 Pavan - 希望事情进展顺利吗?顺便说一句,你在哪里?
  • 我住在印度班加罗尔 :)
猜你喜欢
  • 2011-06-29
  • 2019-11-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多