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
Ruby on rails 3 铁路3和xFF0C';添加索引';方法不';当我尝试添加3列时,它不起作用_Ruby On Rails 3 - Fatal编程技术网

Ruby on rails 3 铁路3和xFF0C';添加索引';方法不';当我尝试添加3列时,它不起作用

Ruby on rails 3 铁路3和xFF0C';添加索引';方法不';当我尝试添加3列时,它不起作用,ruby-on-rails-3,Ruby On Rails 3,在处理迁移数据时,我希望使迁移文件生成的表中的每个记录都是唯一的。以下是我的迁移文件: def self.up create_table :rbac_mandata do |t| t.integer :mandator_id t.integer :mandatarius_id t.integer :permission_id t.timestamps end add_index :rbac_mandata, [:manda

在处理迁移数据时,我希望使迁移文件生成的表中的每个记录都是唯一的。以下是我的迁移文件:

  def self.up
    create_table :rbac_mandata do |t|
      t.integer :mandator_id
      t.integer :mandatarius_id
      t.integer :permission_id

      t.timestamps
    end
  add_index :rbac_mandata, [:mandator_id, :mandatarius_id, :permission_id], :unique => true
  end
当我执行rake任务时,发现它不工作。但当我将其更改为此时,它已完成:

  def self.up
    create_table :rbac_mandata do |t|
      t.integer :mandator_id
      t.integer :mandatarius_id
      t.integer :permission_id

      t.timestamps
    end
  add_index :rbac_mandata, [:mandator_id, :permission_id], :unique => true
  end

生成的索引名可能太长,可能超过64个字符。只要手动定义名称,它就会很好地通过,就像这样

add_index :rbac_mandata, [:mandator_id, :mandatarius_id, :permission_id], :unique => true, :name => 'my_index_name_here'

您的错误是什么?