+function upgrade_to_23(){
+ echo " Add 'hypervisor' and 'os_type' column to 'instances' table"
+ sql "ALTER TABLE instances ADD COLUMN hypervisor enum('kvm','xen-unik','xenhvm') NOT NULL DEFAULT 'kvm' AFTER flavor_id;"
+ sql "ALTER TABLE instances ADD COLUMN os_image_type VARCHAR(24) NOT NULL DEFAULT 'other' AFTER hypervisor;"
+ echo " Add 'hypervisors' column to 'hosts' table"
+ sql "ALTER TABLE hosts ADD COLUMN hypervisors VARCHAR(255) NOT NULL DEFAULT 'kvm' AFTER features;"
+ sql "INSERT INTO schema_version (version_int, version, openvim_ver, comments, date) "\
+ "VALUES (23, '0.23', '0.5.24', 'Add hypervisor, os_type to instances and add hypervisors to hosts', '2018-03-20');"
+}
+
+function downgrade_from_23(){
+ echo " Remove 'hypervisor' and 'os_type' column from 'instances' table"
+ sql "ALTER TABLE instances DROP COLUMN hypervisor;"
+ sql "ALTER TABLE instances DROP COLUMN os_image_type;"
+ echo " Remove 'hypervisors' column from 'hosts' table"
+ sql "ALTER TABLE hosts DROP COLUMN hypervisors;"
+ sql "DELETE FROM schema_version WHERE version_int = '23';"
+}
+