Sha256: c25e9ad24a3fa23103a2c486da3055b6f72c5e3cbf211658d86531a2792e933e

Contents?: true

Size: 667 Bytes

Versions: 3

Compression:

Stored size: 667 Bytes

Contents

require 'active_record'

module WithUuid
  module Extensions

    module Migrations

      def uuid(*column_names)
        options = column_names.extract_options!
        column_names.each do |name|
          type = case(@base.adapter_name.downcase)
                 when 'sqlserver'
                   'uniqueidentifier'
                 when 'postgresql'
                   'uuid'
                 else
                   'varchar(36)'
                 end
          column(name, "#{type}#{' PRIMARY KEY' if options.delete(:primary_key)}", options)
        end
      end

      def uuid_fk(*column_names)
        uuid( *column_names )
      end

    end

  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
with_uuid-0.3.0 lib/with_uuid/extensions/migrations.rb
with_uuid-0.2.0 lib/with_uuid/extensions/migrations.rb
with_uuid-0.1.2 lib/with_uuid/extensions/migrations.rb