8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
# File 'lib/foreigner/connection_adapters/sql_2003.rb', line 8
def add_foreign_key(from_table, to_table, options = {})
column = options[:column] || "#{to_table.to_s.singularize}_id"
foreign_key_name = foreign_key_name(from_table, column, options)
primary_key = options[:primary_key] || "id"
dependency = dependency_sql(options[:dependent])
sql =
"ALTER TABLE #{quote_table_name(from_table)} " +
"ADD CONSTRAINT #{quote_column_name(foreign_key_name)} " +
"FOREIGN KEY (#{quote_column_name(column)}) " +
"REFERENCES #{quote_table_name(ActiveRecord::Migrator.proper_table_name(to_table))}(#{primary_key})"
sql << " #{dependency}" if dependency.present?
execute(sql)
end
|