class AddProductWithDifferentPrimaryKey < ActiveRecord:Migration
def change
create_table :table, id: false do |t|
t.string :id, null: false
# other columns
t.timestamps
end
execute "ALTER TABLE table ADD PRIMARY KEY (id);"
end
end
Não se esqueça de também adicionar esta linha ao seu modelo de tabela para que o Rails saiba como encontrar sua nova chave primária!
class Product < ActiveRecord::Base
self.primary_key = :id
# rest of code
end
Espero que isto ajude. E o crédito deve ir paraA K H
Para mais informações, você pode conferir as respostas dele e outras. informações da chave primária