Usando UUID em vez de ids com Postgres e Rails

Postgres é muito bom e pode fazer muitas coisas. Por exemplo, pode gerar UUIDs para você. Ele também é capaz de usar esses UUIDs gerados em vez de ids inteiros antigos.

Esta é a aparência das migrações Rails se você quiser fazer algo semelhante:

class EnableUuid < ActiveRecord::Migration
def up
execute
'CREATE EXTENSION "uuid-ossp";'
end

def down
execute
'DROP EXTENSION "uuid-ossp";'
end
end

e depois

class CreateEntries < ActiveRecord::Migration
def up
execute
'CREATE TABLE entries (id uuid PRIMARY KEY DEFAULT uuid_generate_v4());'
change_table
:entries do |t|
t
.string :name, null: false
t
.timestamps
end
end

def down
drop_table
:entries
end
end