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
Vergessen Sie nicht, diese Zeile auch zu Ihrem Tabellenmodell hinzuzufügen, damit Rails weiß, wie es Ihren neuen Primärschlüssel finden kann!
class Product < ActiveRecord::Base
self.primary_key = :id
# rest of code
end
Hoffe das hilft. Und Anerkennung sollte an A K H gehen
Weitere Informationen finden Sie in seinen und anderen Antworten. Informationen zum Primärschlüssel