aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test
diff options
context:
space:
mode:
authorRyuta Kamizono <kamipo@gmail.com>2014-12-27 21:56:00 +0900
committerRyuta Kamizono <kamipo@gmail.com>2014-12-28 05:35:03 +0900
commita327a9dc583e8b7fea030cfe9cda74af632ef210 (patch)
tree8ac4d2e3d1e3c0a3bec8a720ce315f8cb1758c6d /activerecord/test
parent3cbfba6881fca957c62fecfc9467afd459f5a554 (diff)
downloadrails-a327a9dc583e8b7fea030cfe9cda74af632ef210.tar.gz
rails-a327a9dc583e8b7fea030cfe9cda74af632ef210.tar.bz2
rails-a327a9dc583e8b7fea030cfe9cda74af632ef210.zip
Add bigint primary key support for MySQL.
Example: create_table :foos, id: :bigint do |t| end
Diffstat (limited to 'activerecord/test')
-rw-r--r--activerecord/test/cases/primary_keys_test.rb19
1 files changed, 13 insertions, 6 deletions
diff --git a/activerecord/test/cases/primary_keys_test.rb b/activerecord/test/cases/primary_keys_test.rb
index dcd6045b72..2dfc53f132 100644
--- a/activerecord/test/cases/primary_keys_test.rb
+++ b/activerecord/test/cases/primary_keys_test.rb
@@ -233,7 +233,7 @@ if current_adapter?(:MysqlAdapter, :Mysql2Adapter)
end
end
-if current_adapter?(:PostgreSQLAdapter)
+if current_adapter?(:PostgreSQLAdapter, :MysqlAdapter, :Mysql2Adapter)
class PrimaryKeyBigSerialTest < ActiveRecord::TestCase
self.use_transactional_fixtures = false
@@ -242,17 +242,24 @@ if current_adapter?(:PostgreSQLAdapter)
setup do
@connection = ActiveRecord::Base.connection
- @connection.create_table(:widgets, id: :bigserial) { |t| }
+ if current_adapter?(:PostgreSQLAdapter)
+ @connection.create_table(:widgets, id: :bigserial, force: true)
+ else
+ @connection.create_table(:widgets, id: :bigint, force: true)
+ end
end
teardown do
- @connection.drop_table :widgets
+ @connection.execute("DROP TABLE IF EXISTS widgets")
end
- def test_bigserial_primary_key
- assert_equal "id", Widget.primary_key
- assert_equal :integer, Widget.columns_hash[Widget.primary_key].type
+ test "primary key column type with bigserial" do
+ column_type = Widget.type_for_attribute(Widget.primary_key)
+ assert_equal :integer, column_type.type
+ assert_equal 8, column_type.limit
+ end
+ test "primary key with bigserial are automatically numbered" do
widget = Widget.create!
assert_not_nil widget.id
end