Rails 3:habtm 迁移,主键问题

发布于 2024-10-11 12:19:44 字数 683 浏览 5 评论 0原文

我正在尝试为 habtm 关系设置迁移文件,但是当我运行迁移时,出现以下错误:

主键不允许出现在 has_and_belongs_to_many 连接表 (零件车辆)。

这是我的迁移文件(20110111035950_create_parts_vehicles.rb):

class CreatePartsVehiclesJoinTable < ActiveRecord::Migration
  def self.up
    create_table :parts_vehicles, :id => false do |t|
      t.integer :part_id
      t.integer :vehicle_id
    end
  end

  def self.down
    drop_table :parts_vehicles
  end
end

文档 示例指出使用 :id => false 禁用生成主键,但我仍然收到错误。

I'm trying to setup a migration file for a habtm relationship, however when I run the migration I'm getting the following error:

Primary key is not allowed in a
has_and_belongs_to_many join table
(parts_vehicles).

Here is my migration file (20110111035950_create_parts_vehicles.rb):

class CreatePartsVehiclesJoinTable < ActiveRecord::Migration
  def self.up
    create_table :parts_vehicles, :id => false do |t|
      t.integer :part_id
      t.integer :vehicle_id
    end
  end

  def self.down
    drop_table :parts_vehicles
  end
end

The documentation example states to use :id => false to disable a primary key from being generated, but I'm still getting the error.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

浅语花开 2024-10-18 12:19:44

1.) 您的班级名称应与您的迁移名称相同:

class CreatePartsVehicles < ActiveRecord::Migration

2.) 您迁移了吗?尝试删除您的数据库(rake db:drop)并重新迁移(rake db:migrate)

1.) You're class name should be the same as your migration name:

class CreatePartsVehicles < ActiveRecord::Migration

2.) Did you migrate? Try dropping your db (rake db:drop) and remigrating (rake db:migrate)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文