lib/activefacts/generate/rails/schema.rb in activefacts-1.2.1 vs lib/activefacts/generate/rails/schema.rb in activefacts-1.3.0
- old
+ new
@@ -141,16 +141,17 @@
from_columns = fk.from_columns.map{|column| column.rails_name}
to_columns = fk.to_columns.map{|column| column.rails_name}
foreign_keys.concat(
if (from_columns.length == 1)
+ index_name = Persistence.rails_name_trunc('index_'+fk.from.rails_name+'_on_'+from_columns[0])
[
" add_foreign_key :#{fk.from.rails_name}, :#{fk.to.rails_name}, :column => :#{from_columns[0]}, :primary_key => :#{to_columns[0]}, :on_delete => :cascade"
]+
Array(
# Index it non-uniquely only if it's not unique already:
fk.jump_reference.to_role.unique ? nil :
- " add_index :#{fk.from.rails_name}, [:#{from_columns[0]}], :unique => false"
+ " add_index :#{fk.from.rails_name}, [:#{from_columns[0]}], :unique => false, :name => :#{index_name}"
)
else
# This probably isn't going to work without Dr Nic's CPK gem:
[
" add_foreign_key :#{fk.to.rails_name}, :#{fk.from.rails_name}, :column => [:#{from_columns.join(':, ')}], :primary_key => [:#{to_columns.join(':, ')}], :on_delete => :cascade"