diff --git a/lib/generators/audited/install_generator.rb b/lib/generators/audited/install_generator.rb index bbc5c49c5..6cfa92156 100644 --- a/lib/generators/audited/install_generator.rb +++ b/lib/generators/audited/install_generator.rb @@ -13,7 +13,7 @@ class InstallGenerator < Rails::Generators::Base extend Audited::Generators::Migration class_option :audited_changes_column_type, type: :string, default: "text", required: false - class_option :audited_user_id_column_type, type: :string, default: "integer", required: false + class_option :audited_user_id_column_type, type: :string, default: "bigint", required: false source_root File.expand_path("../templates", __FILE__) diff --git a/lib/generators/audited/templates/add_association_to_audits.rb b/lib/generators/audited/templates/add_association_to_audits.rb index b949b4649..610c2714a 100644 --- a/lib/generators/audited/templates/add_association_to_audits.rb +++ b/lib/generators/audited/templates/add_association_to_audits.rb @@ -1,6 +1,6 @@ class <%= migration_class_name %> < <%= migration_parent %> def self.up - add_column :audits, :association_id, :integer + add_column :audits, :association_id, :bigint add_column :audits, :association_type, :string end diff --git a/lib/generators/audited/templates/install.rb b/lib/generators/audited/templates/install.rb index 1d43f093c..939be165f 100644 --- a/lib/generators/audited/templates/install.rb +++ b/lib/generators/audited/templates/install.rb @@ -1,9 +1,9 @@ class <%= migration_class_name %> < <%= migration_parent %> def self.up create_table :audits, :force => true do |t| - t.column :auditable_id, :integer + t.column :auditable_id, :bigint t.column :auditable_type, :string - t.column :associated_id, :integer + t.column :associated_id, :bigint t.column :associated_type, :string t.column :user_id, :<%= options[:audited_user_id_column_type] %> t.column :user_type, :string diff --git a/test/install_generator_test.rb b/test/install_generator_test.rb index 7d3c1bd26..dbe716990 100644 --- a/test/install_generator_test.rb +++ b/test/install_generator_test.rb @@ -60,4 +60,32 @@ class InstallGeneratorTest < Rails::Generators::TestCase assert_includes(content, "class InstallAudited < #{parent}\n") end end + + test "generate migration with 'bigint' type for user_id column" do + run_generator %w(--audited-user-id-column-type bigint) + + assert_migration "db/migrate/install_audited.rb" do |content| + assert_includes(content, 'class InstallAudited') + assert_includes(content, 't.column :user_id, :bigint') + end + end + + test "generate migration with 'bigint' type for auditable_id column" do + run_generator + + assert_migration "db/migrate/install_audited.rb" do |content| + assert_includes(content, 'class InstallAudited') + assert_includes(content, 't.column :auditable_id, :bigint') + end + end + + test "generate migration with 'bigint' type for associated_id column" do + run_generator + + assert_migration "db/migrate/install_audited.rb" do |content| + assert_includes(content, 'class InstallAudited') + assert_includes(content, 't.column :associated_id, :bigint') + end + end + end diff --git a/test/upgrade_generator_test.rb b/test/upgrade_generator_test.rb index 376710804..6a652dade 100644 --- a/test/upgrade_generator_test.rb +++ b/test/upgrade_generator_test.rb @@ -52,7 +52,7 @@ class UpgradeGeneratorTest < Rails::Generators::TestCase run_generator %w(upgrade) assert_migration "db/migrate/add_association_to_audits.rb" do |content| - assert_match(/add_column :audits, :association_id, :integer/, content) + assert_match(/add_column :audits, :association_id, :bigint/, content) assert_match(/add_column :audits, :association_type, :string/, content) end end