It depends on the uuidtools gem.
Initial credits go to has_uuid.
to your Gemfile and run
Finally, you need to create and run a migration which adds an
uuid column to the model to which you want to add an UUID:
class AddUuidToOrders < ActiveRecord::Migration def change add_column :orders, :uuid, :string end end
class Post < ActiveRecord::Base # automatically assign a UUID to the "uuid" column on create has_uuid end class Comment < ActiveRecord::Base # skip assignment on create has_uuid :auto => false end class User < ActiveRecord::Base # store the UUID in the "token" column has_uuid :column => :token, :generator => :timestamp end # assign a UUID if a valid one is not already present @post.assign_uuid # assign a UUID, replacing whatever is already there @post.assign_uuid(:force => true) # assign a UUID and save, replacing whatever is there @post.assign_uuid! # check if the current UUID is valid @post.uuid_valid? # Generate a UUID to use it later Post.generate_uuid