# File lib/taps/schema.rb, line 11 def dump(database_url) db = Sequel.connect(database_url) db.dump_schema_migration(:indexes => false) end
# File lib/taps/schema.rb, line 16 def dump_table(database_url, table) table = table.to_sym Sequel.connect(database_url) do |db| Class.new(Sequel::Migration) do def up #{db.dump_table_schema(table.identifier, :indexes => false)} end def down drop_table("#{table}") if @db.table_exists?("#{table}") endend end end
# File lib/taps/schema.rb, line 33 def indexes(database_url) db = Sequel.connect(database_url) db.dump_indexes_migration end
# File lib/taps/schema.rb, line 38 def indexes_individual(database_url) idxs = {} Sequel.connect(database_url) do |db| tables = db.tables tables.each do |table| idxs[table] = db.send(:dump_table_indexes, table, :add_index, {}).split("\n") end end idxs.each do |table, indexes| idxs[table] = indexes.map do |idx| Class.new(Sequel::Migration) do def up #{idx} endend end end idxs.to_json end
# File lib/taps/schema.rb, line 61 def load(database_url, schema) Sequel.connect(database_url) do |db| klass = eval(schema) klass.apply(db, :down) klass.apply(db, :up) end end
Generated with the Darkfish Rdoc Generator 2.