Method: Sequel::Schema::CreateTableGenerator#dump_indexes
- Defined in:
- lib/sequel/extensions/schema_dumper.rb
#dump_indexes(options = OPTS) ⇒ Object
Dump this generator’s indexes to a string that could be evaled inside another instance to represent the same indexes. Options:
- :add_index
-
Use add_index instead of index, so the methods can be called outside of a generator but inside a migration. The value of this option should be the table name to use.
- :drop_index
-
Same as add_index, but create drop_index statements.
- :ignore_errors
-
Add the ignore_errors option to the outputted indexes
518 519 520 521 522 523 524 525 526 527 528 529 530 |
# File 'lib/sequel/extensions/schema_dumper.rb', line 518 def dump_indexes(=OPTS) is = indexes.map do |c| c = c.dup cols = c.delete(:columns) if table = [:add_index] || [:drop_index] "#{options[:drop_index] ? 'drop' : 'add'}_index #{table.inspect}, #{cols.inspect}#{", #{IGNORE_ERRORS_KEY}true" if options[:ignore_errors]}#{opts_inspect(c)}" else "index #{cols.inspect}#{opts_inspect(c)}" end end is = is.reverse if [:drop_index] is.join("\n") end |