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