1

These are my migrations for the table users_hobbies:

Create:

Sequel.migration do
  up do
    create_table :users_hobbies do
      Integer :user_id
      Integer :hobby_id
    end
  end

  down do
    drop_table :users_hobbies
  end
end

Alter:

Sequel.migration do
  up do
    alter_table :users_hobbies do
      unique [:user_id, :hobby_id]
    end
  end

  down do
  end
end

When I did the second migration I got the following error, any ideas?

NoMethodError: undefined method 'unique' for #<Sequel::Schema::AlterTableGenerator:0x007fba1aea7c30>

Jikku Jose
  • 18,306
  • 11
  • 41
  • 61

1 Answers1

0

unique is only defined in create_table blocks. In alter_table blocks, you need to use add_unique_constraint.

Jeremy Evans
  • 11,959
  • 27
  • 26
  • I somehow didn't figure this out for so long that I chose to edit the old migration :D. Sad. Anyways, thanks! – Jikku Jose Sep 14 '15 at 17:58