class ActiveRecord::ConnectionAdapters::SchemaCreation

def visit_ForeignKeyDefinition(o)

def visit_ForeignKeyDefinition(o)
  quoted_columns = Array(o.column).map { |c| quote_column_name(c) }
  quoted_primary_keys = Array(o.primary_key).map { |c| quote_column_name(c) }
  sql = +<<~SQL
    CONSTRAINT #{quote_column_name(o.name)}
    FOREIGN KEY (#{quoted_columns.join(", ")})
      REFERENCES #{quote_table_name(o.to_table)} (#{quoted_primary_keys.join(", ")})
  SQL
  sql << " #{action_sql('DELETE', o.on_delete)}" if o.on_delete
  sql << " #{action_sql('UPDATE', o.on_update)}" if o.on_update
  sql
end