Sha256: 49add5c949dc4ccb8ae57e00b7333e74bd2843c12e39daa618a2ba553cfb209d

Contents?: true

Size: 1.24 KB

Versions: 1

Compression:

Stored size: 1.24 KB

Contents

require 'sequel'
require 'yaml'
require 'find'
require 'benchmark'
require 'time'
require 'erb'

require 'sql_migrations/version'
require 'sql_migrations/database'
require 'sql_migrations/config'
require 'sql_migrations/sql_script'
require 'sql_migrations/migration'
require 'sql_migrations/seed'
require 'sql_migrations/fixture'

module SqlMigrations
  class << self

    def load_tasks
      load "sql_migrations/tasks/migrate.rake"
      load "sql_migrations/tasks/seed.rake"
      load "sql_migrations/tasks/seed_test.rake"
      load "sql_migrations/tasks/list.rake"
    end

    def migrate
      databases { |db| db.execute_migrations }
    end

    def seed
      databases { |db| db.seed_database      }
    end

    def seed_test
      databases { |db| db.seed_with_fixtures }
    end

    def list_files
      Config.new.databases.each do |db_config|
        name = db_config[:name]
        Migration.find(name).each { |migration| puts migration }
        Seed.find(name).each      { |seed|      puts seed      }
        Fixture.find(name).each   { |fixture|   puts fixture   }
      end
    end

    private
    def databases
      Config.new.databases.each do |db_config|
        db = Database.new(db_config)
        yield db
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
sql_migrations-2.1.0.pre2 lib/sql_migrations.rb