mirror of
https://github.com/discourse/discourse.git
synced 2024-11-23 06:49:14 +08:00
FIX: don't remap readonly columns
This commit is contained in:
parent
d82da69c2c
commit
bfcbfd7864
|
@ -9,12 +9,23 @@ class DbHelper
|
||||||
ORDER BY table_name, column_name
|
ORDER BY table_name, column_name
|
||||||
SQL
|
SQL
|
||||||
|
|
||||||
|
TRIGGERS_SQL ||= <<~SQL
|
||||||
|
SELECT trigger_name
|
||||||
|
FROM information_schema.triggers
|
||||||
|
WHERE trigger_name LIKE '%_readonly'
|
||||||
|
SQL
|
||||||
|
|
||||||
def self.remap(from, to, anchor_left: false, anchor_right: false, excluded_tables: [])
|
def self.remap(from, to, anchor_left: false, anchor_right: false, excluded_tables: [])
|
||||||
like = "#{anchor_left ? '' : "%"}#{from}#{anchor_right ? '' : "%"}"
|
like = "#{anchor_left ? '' : "%"}#{from}#{anchor_right ? '' : "%"}"
|
||||||
|
|
||||||
|
triggers = DB.query(TRIGGERS_SQL).map(&:trigger_name).to_set
|
||||||
|
|
||||||
text_columns = Hash.new { |h, k| h[k] = [] }
|
text_columns = Hash.new { |h, k| h[k] = [] }
|
||||||
|
|
||||||
DB.query(REMAP_SQL).each do |r|
|
DB.query(REMAP_SQL).each do |r|
|
||||||
text_columns[r.table_name] << r.column_name
|
unless triggers.include?("#{r.table_name}_#{r.column_name}_readonly")
|
||||||
|
text_columns[r.table_name] << r.column_name
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
text_columns.each do |table, columns|
|
text_columns.each do |table, columns|
|
||||||
|
@ -39,10 +50,14 @@ class DbHelper
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.regexp_replace(pattern, replacement, flags: "gi", match: "~*", excluded_tables: [])
|
def self.regexp_replace(pattern, replacement, flags: "gi", match: "~*", excluded_tables: [])
|
||||||
|
triggers = DB.query(TRIGGERS_SQL).map(&:trigger_name).to_set
|
||||||
|
|
||||||
text_columns = Hash.new { |h, k| h[k] = [] }
|
text_columns = Hash.new { |h, k| h[k] = [] }
|
||||||
|
|
||||||
DB.query(REMAP_SQL).each do |r|
|
DB.query(REMAP_SQL).each do |r|
|
||||||
text_columns[r.table_name] << r.column_name
|
unless triggers.include?("#{r.table_name}_#{r.column_name}_readonly")
|
||||||
|
text_columns[r.table_name] << r.column_name
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
text_columns.each do |table, columns|
|
text_columns.each do |table, columns|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user