From acec932e0b1e6dc1fd395985be6f949a49f18c51 Mon Sep 17 00:00:00 2001 From: Joel Low Date: Mon, 21 Aug 2017 08:31:24 +0800 Subject: [PATCH] Test explicitly specifying the column's primary key type --- spec/foreign_key_spec.rb | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/spec/foreign_key_spec.rb b/spec/foreign_key_spec.rb index f42db20..88dbe20 100644 --- a/spec/foreign_key_spec.rb +++ b/spec/foreign_key_spec.rb @@ -30,6 +30,31 @@ class Comment < ::ActiveRecord::Base ; end end + context "explicit foreign key type" do + [:integer, :bigint].each do |primary_key_type| + before(:each) do + define_schema do + create_table :users, :id => primary_key_type, :force => true do |t| + t.string :login + end + + create_table :comments, :id => primary_key_type, :force => true do |t| + t.send primary_key_type, :user_id + t.foreign_key :user_id, :users + end + end + end + + it "should report foreign key constraints" do + expect(Comment.foreign_keys.collect(&:column).flatten).to eq([ "user_id" ]) + end + + it "should report reverse foreign key constraints" do + expect(User.reverse_foreign_keys.collect(&:column).flatten).to eq([ "user_id" ]) + end + end + end + context "modification" do before(:each) do