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
¡No olvide agregar también esta línea a su modelo de tabla para que Rails sepa cómo encontrar su nueva clave principal!
class Product < ActiveRecord::Base
self.primary_key = :id
# rest of code
end
Espero que esto ayude. Y el crédito debe ir a A K H
Para obtener más información, puede consultar su y otras respuestas. información de la clave principal