Taps::Schema

Public Instance Methods

dump(database_url) click to toggle source
# File lib/taps/schema.rb, line 11
def dump(database_url)
        db = Sequel.connect(database_url)
        db.dump_schema_migration(:indexes => false)
end
dump_table(database_url, table) click to toggle source
# 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
indexes(database_url) click to toggle source
# File lib/taps/schema.rb, line 33
def indexes(database_url)
        db = Sequel.connect(database_url)
        db.dump_indexes_migration
end
indexes_individual(database_url) click to toggle source
# 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
load(database_url, schema) click to toggle source
# 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
load_indexes(database_url, indexes) click to toggle source
# File lib/taps/schema.rb, line 69
def load_indexes(database_url, indexes)
        Sequel.connect(database_url) do |db|
                eval(indexes).apply(db, :up)
        end
end
reset_db_sequences(database_url) click to toggle source
# File lib/taps/schema.rb, line 75
def reset_db_sequences(database_url)
        db = Sequel.connect(database_url)
        return unless db.respond_to?(:reset_primary_key_sequence)
        db.tables.each do |table|
                db.reset_primary_key_sequence(table)
        end
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.