mirror of
https://github.com/discourse/discourse.git
synced 2024-11-27 08:33:39 +08:00
55 lines
1.1 KiB
Ruby
55 lines
1.1 KiB
Ruby
|
module FreedomPatches
|
||
|
module SchemaMigrationDetails
|
||
|
def exec_migration(conn, direction)
|
||
|
rval = nil
|
||
|
|
||
|
time = Benchmark.measure do
|
||
|
rval=super
|
||
|
end
|
||
|
|
||
|
sql = <<SQL
|
||
|
INSERT INTO schema_migration_details(
|
||
|
version,
|
||
|
hostname,
|
||
|
name,
|
||
|
git_version,
|
||
|
duration,
|
||
|
direction,
|
||
|
rails_version,
|
||
|
created_at
|
||
|
) values (
|
||
|
:version,
|
||
|
:hostname,
|
||
|
:name,
|
||
|
:git_version,
|
||
|
:duration,
|
||
|
:direction,
|
||
|
:rails_version,
|
||
|
:created_at
|
||
|
)
|
||
|
SQL
|
||
|
|
||
|
hostname = `hostname` rescue ""
|
||
|
sql = ActiveRecord::Base.send(:sanitize_sql_array, [sql, {
|
||
|
version: version || "",
|
||
|
duration: (time.real * 1000).to_i,
|
||
|
hostname: hostname,
|
||
|
name: name,
|
||
|
git_version: Discourse.git_version,
|
||
|
created_at: Time.zone.now,
|
||
|
direction: direction.to_s,
|
||
|
rails_version: Rails.version
|
||
|
}])
|
||
|
|
||
|
conn.execute(sql)
|
||
|
|
||
|
rval
|
||
|
end
|
||
|
|
||
|
end
|
||
|
end
|
||
|
|
||
|
class ActiveRecord::Migration
|
||
|
prepend FreedomPatches::SchemaMigrationDetails
|
||
|
end
|