Rails 3: миграция habtm, проблема первичного ключа - PullRequest
0 голосов
/ 11 января 2011

Я пытаюсь настроить файл миграции для отношения habtm, однако, когда я запускаю миграцию, я получаю следующую ошибку:

Первичный ключ не разрешен в has_and_belongs_to_many присоединиться к таблице (parts_vehicles).

Вот мой файл миграции (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 для отключения генерации первичного ключа, но я все еще получаю ошибку.

1 Ответ

1 голос
/ 11 января 2011

1.) Имя вашего класса должно совпадать с именем миграции:

class CreatePartsVehicles < ActiveRecord::Migration

2.) Вы мигрировали? Попробуйте сбросить свою базу данных (rake db: drop) и переиграть (rake db: migrate)

...