-
Notifications
You must be signed in to change notification settings - Fork 1
Rails Plugin that gently allows you to use UUIDs as the primary key.
License
cch1/uuid_primary_key
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
UUIDPrimaryKey ============== Copyright 2006-2007, Chris Hapgood MIT License Derived from the works of several others, including Demetrio Nunes, Paul Dix and Lee Jensen. Requirements: UUIDTools GEM (gem install uuidtools) In any model class requiring a UUID PK, invoke UUIDPrimaryKey, optionally with the name of the PK column in your database. Example: class Person < ActiveRecord::Base UUIDPrimaryKey end class Place < ActiveRecord::Base UUIDPrimaryKey :column => 'uuid' end Hints: 1. To override the value of the PK from the application, define an initialize method in your model like this: class Person < ActiveRecord::Base UUIDPrimaryKey :column => 'uuid' def initialize(params = nil) super self.id = params[:uuid] unless params[:uuid].nil? end end 2. To define a reasonable colum using migrations, try this: class AddPeople < ActiveRecord::Migration def self.up create_table :people, :id => false do |t| t.column :uuid, :string, :limit => 36 t.column :firstnames, :string, :limit => 55 t.column :lastname, :string, :limit => 35 t.column :created_at, :timestamp t.column :updated_at, :timestamp end execute("ALTER TABLE people ADD PRIMARY KEY(uuid)") end def self.down drop_table :people end end
About
Rails Plugin that gently allows you to use UUIDs as the primary key.
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published