There doesn't seem to be much documentation on UUID
s in Rails 5. All I've found is this code:
create_table :users, id: :uuid do |t|
t.string :name
end
That works great if you're creating a table, but what if you're updating an already-existing table?
How do you add a UUID
column to a table?
To migrate from default id to use uuid, try writing migration like this:
class ChangeProjectsPrimaryKey < ActiveRecord::Migration
def change
add_column :projects, :uuid, :uuid, default: "uuid_generate_v4()", null: false
change_table :projects do |t|
t.remove :id
t.rename :uuid, :id
end
execute "ALTER TABLE projects ADD PRIMARY KEY (id);"
end
end