Class: ActiveRecord::Migration::Compatibility::V5_0
  
  
  
  
  
    - Inherits:
 
    - 
      V5_1
      
        
          - Object
 
          
            - V5_2
 
          
            - V5_1
 
          
            - ActiveRecord::Migration::Compatibility::V5_0
 
          
        
        show all
      
     
  
  
  
  
  
  
  
  
  
  
    - Defined in:
 
    - lib/active_record/migration/compatibility.rb
 
  
  
 
  Direct Known Subclasses
  V4_2
 
Defined Under Namespace
  
    
      Modules: TableDefinition
    
  
    
  
  
    
      Instance Method Summary
      collapse
    
    
  
  
  
  
  
  
  
  
  
  Methods inherited from V5_1
  #change_column
  
  
  
  
  
  
  
  
  Methods inherited from V5_2
  #add_timestamps, #change_table
  
    Instance Method Details
    
      
  
  
    #add_column(table_name, column_name, type, **options)  ⇒ Object 
  
  
  
  
    
      
150
151
152
153
154
155
156 
     | 
    
      # File 'lib/active_record/migration/compatibility.rb', line 150
def add_column(table_name, column_name, type, **options)
  if type == :primary_key
    type = :integer
    options[:primary_key] = true
  end
  super
end
     | 
  
 
    
      
  
  
    #add_reference(table_name, ref_name, **options)  ⇒ Object 
  
  
    Also known as:
    add_belongs_to
    
  
  
  
    
      
158
159
160 
     | 
    
      # File 'lib/active_record/migration/compatibility.rb', line 158
def add_reference(table_name, ref_name, **options)
  super(table_name, ref_name, type: :integer, **options)
end 
     | 
  
 
    
      
  
  
    #create_join_table(table_1, table_2, column_options: {}, **options)  ⇒ Object 
  
  
  
  
    
      
145
146
147
148 
     | 
    
      # File 'lib/active_record/migration/compatibility.rb', line 145
def create_join_table(table_1, table_2, column_options: {}, **options)
  column_options.reverse_merge!(type: :integer)
  super
end
     | 
  
 
    
      
  
  
    #create_table(table_name, **options)  ⇒ Object 
  
  
  
  
    
      
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143 
     | 
    
      # File 'lib/active_record/migration/compatibility.rb', line 122
def create_table(table_name, **options)
  if connection.adapter_name == "PostgreSQL"
    if options[:id] == :uuid && !options.key?(:default)
      options[:default] = "uuid_generate_v4()"
    end
  end
  unless connection.adapter_name == "Mysql2" && options[:id] == :bigint
    if [:integer, :bigint].include?(options[:id]) && !options.key?(:default)
      options[:default] = nil
    end
  end
        unless options.key?(:id)
    options[:id] = :integer
  end
  super
end
     |