class ActiveRecord::ConnectionAdapters::Mysql2AdapterWithoutLock
Constants
- DDL_WITH_COMMA_REGEX
- DDL_WITH_LOCK_NONE_REGEX
- OPTIMIZABLE_DDL_REGEX
Public Class Methods
new(mysql2_adapter, verbose = false)
click to toggle source
Calls superclass method
# File lib/mysql_online_migrations/mysql2_adapter_without_lock.rb, line 9 def initialize(mysql2_adapter, verbose = false) @verbose = verbose params = [:@connection, :@logger, :@connection_options, :@config].map do |sym| mysql2_adapter.instance_variable_get(sym) end super(*params) end
Public Instance Methods
execute(sql, name = nil)
click to toggle source
# File lib/mysql_online_migrations/mysql2_adapter_without_lock.rb, line 18 def execute(sql, name = nil) if sql =~ OPTIMIZABLE_DDL_REGEX sql = "#{sql} #{lock_none_statement(sql)}" end original_execute(sql, name) end
Also aliased as: original_execute
lock_none_statement(sql)
click to toggle source
# File lib/mysql_online_migrations/mysql2_adapter_without_lock.rb, line 25 def lock_none_statement(sql) return "" unless ActiveRecord::Base.mysql_online_migrations return "" if sql =~ DDL_WITH_LOCK_NONE_REGEX comma_delimiter = (sql =~ DDL_WITH_COMMA_REGEX ? "," : "") puts "ONLINE MIGRATION" if @verbose "#{comma_delimiter} LOCK=NONE" end