Use INSERT INTO to insert tags
This commit is contained in:
parent
b2a9021685
commit
a37e591e74
1 changed files with 8 additions and 7 deletions
|
@ -4,14 +4,15 @@ module Ci
|
||||||
module Migrate
|
module Migrate
|
||||||
class Tags
|
class Tags
|
||||||
def restore
|
def restore
|
||||||
ActiveRecord::Base.transaction do
|
puts 'Inserting tags...'
|
||||||
puts 'Inserting tags...'
|
connection.select_all('SELECT ci_tags.name FROM ci_tags').each do |tag|
|
||||||
connection.execute(
|
begin
|
||||||
'INSERT INTO tags (name) ' +
|
connection.execute("INSERT INTO tags (name) VALUES(#{ActiveRecord::Base::sanitize(tag['name'])})")
|
||||||
'SELECT ci_tags.name FROM ci_tags ' +
|
rescue ActiveRecord::RecordNotUnique
|
||||||
'WHERE (SELECT COUNT(*) FROM tags WHERE tags.name = ci_tags.name)=0'
|
end
|
||||||
)
|
end
|
||||||
|
|
||||||
|
ActiveRecord::Base.transaction do
|
||||||
puts 'Deleting old taggings...'
|
puts 'Deleting old taggings...'
|
||||||
connection.execute "DELETE FROM taggings WHERE context = 'tags' AND taggable_type LIKE 'Ci::%'"
|
connection.execute "DELETE FROM taggings WHERE context = 'tags' AND taggable_type LIKE 'Ci::%'"
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue