From f0323288da939f57641b82041cb1a86a1e526746 Mon Sep 17 00:00:00 2001 From: Jon McCartie Date: Thu, 22 Oct 2015 09:11:42 -0700 Subject: Move default uuid generation to active_record --- activerecord/CHANGELOG.md | 5 +++-- activerecord/lib/rails/generators/active_record.rb | 8 ++++++++ .../active_record/migration/templates/create_table_migration.rb | 2 +- 3 files changed, 12 insertions(+), 3 deletions(-) (limited to 'activerecord') diff --git a/activerecord/CHANGELOG.md b/activerecord/CHANGELOG.md index e1f543c3a1..48005eee1a 100644 --- a/activerecord/CHANGELOG.md +++ b/activerecord/CHANGELOG.md @@ -7,8 +7,9 @@ * Add ability to default to `uuid` as primary key when generating database migrations - Set `Rails.application.config.active_record.primary_key = :uuid` - or `config.active_record.primary_key = :uuid` in config/application.rb + config.generators do |g| + g.orm :active_record, primary_key_type: :uuid + end *Jon McCartie* diff --git a/activerecord/lib/rails/generators/active_record.rb b/activerecord/lib/rails/generators/active_record.rb index dc29213235..425512cc43 100644 --- a/activerecord/lib/rails/generators/active_record.rb +++ b/activerecord/lib/rails/generators/active_record.rb @@ -12,6 +12,14 @@ module ActiveRecord def self.base_root File.dirname(__FILE__) end + + private + def primary_key_type + key_type = Rails::Generators.options[:active_record][:primary_key_type] + ", id: :#{key_type}" if key_type + end + + end end end diff --git a/activerecord/lib/rails/generators/active_record/migration/templates/create_table_migration.rb b/activerecord/lib/rails/generators/active_record/migration/templates/create_table_migration.rb index 4a7deb3c75..fadab2a1e6 100644 --- a/activerecord/lib/rails/generators/active_record/migration/templates/create_table_migration.rb +++ b/activerecord/lib/rails/generators/active_record/migration/templates/create_table_migration.rb @@ -1,6 +1,6 @@ class <%= migration_class_name %> < ActiveRecord::Migration def change - create_table :<%= table_name %><%= id_kind %> do |t| + create_table :<%= table_name %><%= primary_key_type %> do |t| <% attributes.each do |attribute| -%> <% if attribute.password_digest? -%> t.string :password_digest<%= attribute.inject_options %> -- cgit v1.2.3