Module: Foreigner::ConnectionAdapters::Sql2003
- Included in:
- MysqlAdapter, PostgreSQLAdapter, SQLite3Adapter
- Defined in:
- lib/foreigner/connection_adapters/sql_2003.rb
Instance Method Summary collapse
- #add_foreign_key(from_table, to_table, options = {}) ⇒ Object
- #foreign_key_definition(to_table, options = {}) ⇒ Object
- #supports_foreign_keys? ⇒ Boolean
Instance Method Details
#add_foreign_key(from_table, to_table, options = {}) ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/foreigner/connection_adapters/sql_2003.rb', line 17 def add_foreign_key(from_table, to_table, = {}) column = [:column] || "#{to_table.to_s.singularize}_id" foreign_key_name = foreign_key_name(from_table, column, ) primary_key = [:primary_key] || "id" dependency = dependency_sql([: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}" unless dependency.blank? execute(sql) end |
#foreign_key_definition(to_table, options = {}) ⇒ Object
8 9 10 11 12 13 14 15 |
# File 'lib/foreigner/connection_adapters/sql_2003.rb', line 8 def foreign_key_definition(to_table, = {}) column = [:column] || "#{to_table.to_s.singularize}_id" dependency = dependency_sql([:dependent]) sql = "FOREIGN KEY (#{quote_column_name(column)}) REFERENCES #{quote_table_name(to_table)}(id)" sql << " #{dependency}" unless dependency.blank? sql end |
#supports_foreign_keys? ⇒ Boolean
4 5 6 |
# File 'lib/foreigner/connection_adapters/sql_2003.rb', line 4 def supports_foreign_keys? true end |