Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Migration Rails 3:habtm迁移,主要关键问题_Migration_Ruby On Rails 3_Has And Belongs To Many - Fatal编程技术网

Migration Rails 3:habtm迁移,主要关键问题

Migration Rails 3:habtm迁移,主要关键问题,migration,ruby-on-rails-3,has-and-belongs-to-many,Migration,Ruby On Rails 3,Has And Belongs To Many,我正在尝试为habtm关系设置迁移文件,但在运行迁移时,出现以下错误: 主密钥不允许在 有多个联接表,并且属于多个联接表 (车辆零件) 这是我的迁移文件(20110111035950_create_parts_vehicles.rb): class CreatePartsVehiclesJoinTablefalse do | t| t、 整数:part_id t、 整数:车辆识别号 结束 结束 def自动关闭 下表:车辆零件 结束 结束 示例说明使用:id=>false来禁用主键的生成,但我仍

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

主密钥不允许在 有多个联接表,并且属于多个联接表 (车辆零件)

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

class CreatePartsVehiclesJoinTablefalse do | t|
t、 整数:part_id
t、 整数:车辆识别号
结束
结束
def自动关闭
下表:车辆零件
结束
结束
示例说明使用
:id=>false
来禁用主键的生成,但我仍然收到错误。

1。)您的类名应与迁移名相同:

class CreatePartsVehicles < ActiveRecord::Migration
class CreatePartsVehicles

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

迁移的类名在这里并不重要。我不确定。安全总比后悔好。我觉得他只是没有正确地迁移,虽然我使用了一个特殊的rake任务来执行db:drop:all db:migrate和db:seed,这显然有一些问题。当我手动执行每个步骤时,它就开始工作了。就像我说的-‘我觉得他只是没有正确地迁移’:)它看起来是正确的。运行
rake db:migrate:status
以确保此迁移是
down
。是的,它是正确的。当我删除数据库并重新运行迁移时,它开始工作。
class CreatePartsVehicles < ActiveRecord::Migration