From 4cbc8c7747e86010b492d3871b6188e04634cbf4 Mon Sep 17 00:00:00 2001 From: Antonio Terceiro Date: Mon, 21 Dec 2009 12:02:05 -0300 Subject: [PATCH] Forcing ordering of index statements in schema.rb --- vendor/plugins/schema_dumper_sort_indexes/init.rb | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+), 0 deletions(-) create mode 100644 vendor/plugins/schema_dumper_sort_indexes/init.rb diff --git a/vendor/plugins/schema_dumper_sort_indexes/init.rb b/vendor/plugins/schema_dumper_sort_indexes/init.rb new file mode 100644 index 0000000..aa6a5e1 --- /dev/null +++ b/vendor/plugins/schema_dumper_sort_indexes/init.rb @@ -0,0 +1,22 @@ +# based on https://rails.lighthouseapp.com/projects/8994/tickets/1266-order-add_index-statements-in-schemarb +# only needed for rails < 2.2 +if Rails::VERSION::STRING < "2.2.0" + class ActiveRecord::SchemaDumper + def indexes(table, stream) + if (indexes = @connection.indexes(table)).any? + + add_index_statements = indexes.map do |index| + statment_parts = [ ('add_index ' + index.table.inspect) ] + statment_parts << index.columns.inspect + statment_parts << (':name => ' + index.name.inspect) + statment_parts << ':unique => true' if index.unique + + ' ' + statment_parts.join(', ') + end + + stream.puts add_index_statements.sort.join("\n") + stream.puts + end + end + end +end -- libgit2 0.21.2