From 9e24ff5a2e25d5819c3b4c3da783fc47b2bbdb48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Mart=C3=ADn?= Date: Mon, 6 Jul 2015 17:39:41 +0200 Subject: [PATCH] Feature #3782: Add image snapshot attributes in onedb upgrade --- src/onedb/local/4.11.80_to_4.13.80.rb | 28 +++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/src/onedb/local/4.11.80_to_4.13.80.rb b/src/onedb/local/4.11.80_to_4.13.80.rb index c1b745c76b..043428bf4e 100644 --- a/src/onedb/local/4.11.80_to_4.13.80.rb +++ b/src/onedb/local/4.11.80_to_4.13.80.rb @@ -143,6 +143,34 @@ module Migrator log_time() + # 3782 + + @db.run "ALTER TABLE image_pool RENAME TO old_image_pool;" + @db.run "CREATE TABLE image_pool (oid INTEGER PRIMARY KEY, name VARCHAR(128), body MEDIUMTEXT, uid INTEGER, gid INTEGER, owner_u INTEGER, group_u INTEGER, other_u INTEGER, UNIQUE(name,uid) );" + + @db.transaction do + @db.fetch("SELECT * FROM old_image_pool") do |row| + doc = Nokogiri::XML(row[:body],nil,NOKOGIRI_ENCODING){|c| c.default_xml.noblanks} + + doc.root.add_child(doc.create_element("TARGET_SNAPSHOT")).content = "-1" + doc.root.add_child(doc.create_element("SNAPSHOTS")) + + @db[:image_pool].insert( + :oid => row[:oid], + :name => row[:name], + :body => doc.root.to_s, + :uid => row[:uid], + :gid => row[:gid], + :owner_u => row[:owner_u], + :group_u => row[:group_u], + :other_u => row[:other_u]) + end + end + + @db.run "DROP TABLE old_image_pool;" + + log_time() + return true end