Sha256: fa9177f5f859258deae027d433832c07c710e3e21b646124161341f0f669bbcc
Contents?: true
Size: 1.93 KB
Versions: 2
Compression:
Stored size: 1.93 KB
Contents
module Lotus module Model module Migrator # MySQL adapter # # @since 0.4.0 # @api private class MySQLAdapter < Adapter # @since 0.4.0 # @api private def create new_connection(global: true).run %(CREATE DATABASE #{ database };) rescue Sequel::DatabaseError => e message = if e.message.match(/database exists/) "Database creation failed. There is 1 other session using the database" else e.message end raise MigrationError.new(message) end # @since 0.4.0 # @api private def drop new_connection(global: true).run %(DROP DATABASE #{ database };) rescue Sequel::DatabaseError => e message = if e.message.match(/doesn\'t exist/) "Cannot find database: #{ database }" else e.message end raise MigrationError.new(message) end # @since 0.4.0 # @api private def dump dump_structure dump_migrations_data end # @since 0.4.0 # @api private def load load_structure end private # @since 0.4.0 # @api private def dump_structure system "mysqldump --user=#{ username } --password=#{ password } --no-data --skip-comments --ignore-table=#{ database }.#{ migrations_table } #{ database } > #{ schema }" end # @since 0.4.0 # @api private def load_structure system "mysql --user=#{ username } --password=#{ password } #{ database } < #{ escape(schema) }" if schema.exist? end # @since 0.4.0 # @api private def dump_migrations_data system "mysqldump --user=#{ username } --password=#{ password } --skip-comments #{ database } #{ migrations_table } >> #{ schema }" end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
lotus-model-0.5.2 | lib/lotus/model/migrator/mysql_adapter.rb |
lotus-model-0.5.1 | lib/lotus/model/migrator/mysql_adapter.rb |