X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=database_utils%2Fmigrate_mano_db.sh;h=096a21ad16a8fd03873cd522bdb1e5d114fe8c87;hb=fb5855ccaaffd7f9b5398505be9eed9b5b8e11d9;hp=b587612eacb1e77c6c12abf3776cf493d4ba885f;hpb=8a2d20725d5b3ad32946affd7bea7388434094e9;p=osm%2FRO.git diff --git a/database_utils/migrate_mano_db.sh b/database_utils/migrate_mano_db.sh index b587612e..096a21ad 100755 --- a/database_utils/migrate_mano_db.sh +++ b/database_utils/migrate_mano_db.sh @@ -36,7 +36,7 @@ QUIET_MODE="" BACKUP_DIR="" BACKUP_FILE="" #TODO update it with the last database version -LAST_DB_VERSION=38 +LAST_DB_VERSION=39 # Detect paths MYSQL=$(which mysql) @@ -196,6 +196,7 @@ fi #[ $OPENMANO_VER_NUM -ge 6003 ] && DB_VERSION=36 #0.6.03 => 36 #[ $OPENMANO_VER_NUM -ge 6009 ] && DB_VERSION=37 #0.6.09 => 37 #[ $OPENMANO_VER_NUM -ge 6011 ] && DB_VERSION=38 #0.6.11 => 38 +#[ $OPENMANO_VER_NUM -ge 6020 ] && DB_VERSION=39 #0.6.20 => 39 #TODO ... put next versions here function upgrade_to_1(){ @@ -795,14 +796,14 @@ function downgrade_from_22(){ function upgrade_to_23(){ # echo " upgrade database from version 0.22 to version 0.23" echo " add column 'availability_zone' at table 'vms'" - sql "ALTER TABLE mano_db.vms ADD COLUMN availability_zone VARCHAR(255) NULL AFTER modified_at;" + sql "ALTER TABLE vms ADD COLUMN availability_zone VARCHAR(255) NULL AFTER modified_at;" sql "INSERT INTO schema_version (version_int, version, openmano_ver, comments, date) VALUES (23, '0.23', '0.5.20',"\ "'Changed type of ram in flavors from SMALLINT to MEDIUMINT', '2017-08-29');" } function downgrade_from_23(){ # echo " downgrade database from version 0.23 to version 0.22" echo " remove column 'availability_zone' from table 'vms'" - sql "ALTER TABLE mano_db.vms DROP COLUMN availability_zone;" + sql "ALTER TABLE vms DROP COLUMN availability_zone;" sql "DELETE FROM schema_version WHERE version_int='23';" } @@ -1397,7 +1398,7 @@ function downgrade_from_38(){ "CHANGE COLUMN status status ENUM('SCHEDULED','BUILD','DONE','FAILED','SUPERSEDED') " \ "NOT NULL DEFAULT 'SCHEDULED' AFTER item_id;" echo " Remove related from instance_xxxx" - for table in instance_classifications instance_nets instance_wim_netsinstance_sfis instance_sfps instance_sfs \ + for table in instance_classifications instance_nets instance_wim_nets instance_sfis instance_sfps instance_sfs \ instance_vms do sql "ALTER TABLE $table DROP COLUMN related;" @@ -1407,6 +1408,59 @@ function downgrade_from_38(){ sql "DELETE FROM schema_version WHERE version_int='38';" } +function upgrade_to_39(){ + echo " Enlarge vim_id to 300 at all places" + sql "ALTER TABLE datacenters_flavors CHANGE COLUMN vim_id vim_id VARCHAR(300) NOT NULL AFTER datacenter_vim_id;" + sql "ALTER TABLE datacenters_images CHANGE COLUMN vim_id vim_id VARCHAR(300) NOT NULL AFTER datacenter_vim_id;" + sql "ALTER TABLE datacenter_nets CHANGE COLUMN vim_net_id vim_net_id VARCHAR(300) NOT NULL AFTER name;" + sql "ALTER TABLE instance_classifications CHANGE COLUMN vim_classification_id vim_classification_id VARCHAR(300)" \ + " NULL DEFAULT NULL AFTER instance_scenario_id;" + sql "ALTER TABLE instance_interfaces CHANGE COLUMN vim_interface_id vim_interface_id VARCHAR(300) NULL DEFAULT " \ + " NULL AFTER interface_id;" + sql "ALTER TABLE instance_nets CHANGE COLUMN vim_net_id vim_net_id VARCHAR(300) NULL DEFAULT NULL" \ + " AFTER osm_id;" + sql "ALTER TABLE instance_sfis CHANGE COLUMN vim_sfi_id vim_sfi_id VARCHAR(300) NULL DEFAULT NULL" \ + " AFTER instance_scenario_id;" + sql "ALTER TABLE instance_sfps CHANGE COLUMN vim_sfp_id vim_sfp_id VARCHAR(300) NULL DEFAULT NULL" \ + " AFTER instance_scenario_id;" + sql "ALTER TABLE instance_sfs CHANGE COLUMN vim_sf_id vim_sf_id VARCHAR(300) NULL DEFAULT NULL" \ + " AFTER instance_scenario_id;" + sql "ALTER TABLE instance_vms CHANGE COLUMN vim_vm_id vim_vm_id VARCHAR(300) NULL DEFAULT NULL" \ + " AFTER instance_vnf_id, DROP INDEX vim_vm_id;" + sql "ALTER TABLE instance_wim_nets CHANGE COLUMN wim_internal_id wim_internal_id VARCHAR(300) NULL DEFAULT NULL" \ + " COMMENT 'Internal ID used by the WIM to refer to the network' AFTER uuid;" + sql "ALTER TABLE vim_wim_actions CHANGE COLUMN vim_id vim_id VARCHAR(300) NULL DEFAULT NULL" \ + " AFTER datacenter_vim_id;" + + sql "INSERT INTO schema_version (version_int, version, openmano_ver, comments, date) " \ + "VALUES (39, '0.39', '0.6.20', 'Enlarge vim_id to 300 at all places', '2019-05-23');" +} +function downgrade_from_39(){ + echo " Set vim_id to original lenght at all places" + sql "ALTER TABLE datacenters_flavors CHANGE COLUMN vim_id vim_id VARCHAR(36) NOT NULL AFTER datacenter_vim_id;" + sql "ALTER TABLE datacenters_images CHANGE COLUMN vim_id vim_id VARCHAR(36) NOT NULL AFTER datacenter_vim_id;" + sql "ALTER TABLE datacenter_nets CHANGE COLUMN vim_net_id vim_net_id VARCHAR(36) NOT NULL AFTER name;" + sql "ALTER TABLE instance_classifications CHANGE COLUMN vim_classification_id vim_classification_id VARCHAR(36)" \ + " NULL DEFAULT NULL AFTER instance_scenario_id;" + sql "ALTER TABLE instance_interfaces CHANGE COLUMN vim_interface_id vim_interface_id VARCHAR(128) NULL DEFAULT " \ + " NULL AFTER interface_id;" + sql "ALTER TABLE instance_nets CHANGE COLUMN vim_net_id vim_net_id VARCHAR(128) NULL DEFAULT NULL" \ + " AFTER osm_id;" + sql "ALTER TABLE instance_sfis CHANGE COLUMN vim_sfi_id vim_sfi_id VARCHAR(36) NULL DEFAULT NULL" \ + " AFTER instance_scenario_id;" + sql "ALTER TABLE instance_sfps CHANGE COLUMN vim_sfp_id vim_sfp_id VARCHAR(36) NULL DEFAULT NULL" \ + " AFTER instance_scenario_id;" + sql "ALTER TABLE instance_sfs CHANGE COLUMN vim_sf_id vim_sf_id VARCHAR(36) NULL DEFAULT NULL" \ + " AFTER instance_scenario_id;" + sql "ALTER TABLE instance_vms CHANGE COLUMN vim_vm_id vim_vm_id VARCHAR(36) NULL DEFAULT NULL" \ + " AFTER instance_vnf_id, ADD UNIQUE INDEX vim_vm_id (vim_vm_id);" + sql "ALTER TABLE instance_wim_nets CHANGE COLUMN wim_internal_id wim_internal_id VARCHAR(128) NULL DEFAULT NULL" \ + " COMMENT 'Internal ID used by the WIM to refer to the network' AFTER uuid;" + sql "ALTER TABLE vim_wim_actions CHANGE COLUMN vim_id vim_id VARCHAR(64) NULL DEFAULT NULL" \ + " AFTER datacenter_vim_id;" + + sql "DELETE FROM schema_version WHERE version_int='39';" +} #TODO ... put functions here @@ -1491,8 +1545,8 @@ DATABASE_PROCESS=`echo "select comments from schema_version where version_int=0; if [[ -z "$DATABASE_PROCESS" ]] ; then # migration a non empty database check_migration_needed || exit 0 # Create a backup database content - [[ -n "$BACKUP_DIR" ]] && BACKUP_FILE="$(mktemp -q "${BACKUP_DIR}/backupdb.XXXXXX.sql")" - [[ -z "$BACKUP_DIR" ]] && BACKUP_FILE="$(mktemp -q --tmpdir "backupdb.XXXXXX.sql")" + [[ -n "$BACKUP_DIR" ]] && BACKUP_FILE=$(mktemp -q "${BACKUP_DIR}/backupdb.XXXXXX.sql") + [[ -z "$BACKUP_DIR" ]] && BACKUP_FILE=$(mktemp -q --tmpdir "backupdb.XXXXXX.sql") mysqldump $DEF_EXTRA_FILE_PARAM --add-drop-table --add-drop-database --routines --databases $DBNAME > $BACKUP_FILE || ! echo "Cannot create Backup file '$BACKUP_FILE'" >&2 || exit 1 echo " Backup file '$BACKUP_FILE' created"