aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/primary_keys_test.rb
diff options
context:
space:
mode:
authorRyuta Kamizono <kamipo@gmail.com>2015-10-27 23:07:19 +0900
committerAndrew White <andrew.white@unboxedconsulting.com>2015-11-02 12:12:20 +0000
commit1fa6c9e5fbedad7fe6b78583571f8ebf2ea4c31d (patch)
tree5d9e0ce9934a457ad9f919d3a7bab42708ebf0a9 /activerecord/test/cases/primary_keys_test.rb
parentfb6f0d406bb9c4fed7fb63b91fe67ad209487a5f (diff)
downloadrails-1fa6c9e5fbedad7fe6b78583571f8ebf2ea4c31d.tar.gz
rails-1fa6c9e5fbedad7fe6b78583571f8ebf2ea4c31d.tar.bz2
rails-1fa6c9e5fbedad7fe6b78583571f8ebf2ea4c31d.zip
Allow bigint with default nil for avoiding auto increment primary key
Such as #10404, #18206.
Diffstat (limited to 'activerecord/test/cases/primary_keys_test.rb')
-rw-r--r--activerecord/test/cases/primary_keys_test.rb26
1 files changed, 26 insertions, 0 deletions
diff --git a/activerecord/test/cases/primary_keys_test.rb b/activerecord/test/cases/primary_keys_test.rb
index 5e4ba47988..344822c883 100644
--- a/activerecord/test/cases/primary_keys_test.rb
+++ b/activerecord/test/cases/primary_keys_test.rb
@@ -280,6 +280,32 @@ if current_adapter?(:MysqlAdapter, :Mysql2Adapter)
con.reconnect!
end
end
+
+ class PrimaryKeyBigintNilDefaultTest < ActiveRecord::TestCase
+ include SchemaDumpingHelper
+
+ self.use_transactional_tests = false
+
+ def setup
+ @connection = ActiveRecord::Base.connection
+ @connection.create_table(:bigint_defaults, id: :bigint, default: nil, force: true)
+ end
+
+ def teardown
+ @connection.drop_table :bigint_defaults, if_exists: true
+ end
+
+ test "primary key with bigint allows default override via nil" do
+ column = @connection.columns(:bigint_defaults).find { |c| c.name == 'id' }
+ assert column.bigint?
+ assert_not column.auto_increment?
+ end
+
+ test "schema dump primary key with bigint default nil" do
+ schema = dump_table_schema "bigint_defaults"
+ assert_match %r{create_table "bigint_defaults", id: :bigint, default: nil}, schema
+ end
+ end
end
if current_adapter?(:PostgreSQLAdapter, :MysqlAdapter, :Mysql2Adapter)