#! /bin/bash VERSION="1.1.4" #==== Includes===================================== . /usr/src/m2/framework/various_functions.sh # . /usr/src/m2/framework/install.conf . /usr/src/m2/framework/bash_functions.sh . /usr/src/m2/db/invoice_conflines.sh #================================================== cd /usr/src/m2/db if [ "$1" == "STABLE" ]; then stable_rev=`cat /usr/src/m2/gui/stable_revision` report "Updating DB to STABLE revision: $stable_rev" 3 svn -r $stable_rev update else report "Updating DB to LATEST revision" 3 svn update fi k_config_details /usr/src/m2/db/mysql_grants.sh report "Importing STRUCTURE Changes" 3 FILE="/usr/src/m2/db/beta_structure.sql" exec < $FILE while read LINE do mysql_sql "$LINE" | grep -v "uplicate\|Unknown\|exist" done report "Structure changes import complete" 0 report "Importing DATA Changes" 3 MYSQL_PWD=$DB_PASSWORD /usr/bin/mysql -h "$DB_HOST" -u $DB_USERNAME $P_OPT "$DB_NAME" < /usr/src/m2/db/beta_data.sql report "Data changes import complete" 0 report "Starting permission import" 3 MYSQL_PWD=$DB_PASSWORD /usr/bin/mysql -h "$DB_HOST" -u "$DB_USERNAME" $P_OPT "$DB_NAME" < /usr/src/m2/db/permissions.sql report "Permission import complete" 0 #report "Starting triggers import" 3 MYSQL_PWD=$DB_PASSWORD /usr/bin/mysql -h "$DB_HOST" -u "$DB_USERNAME" $P_OPT "$DB_NAME" < /usr/src/m2/db/triggers.sql report "Triggers import complete" 0 #report "Starting DC import" 3 MYSQL_PWD=$DB_PASSWORD /usr/bin/mysql -h "$DB_HOST" -u "$DB_USERNAME" $P_OPT "$DB_NAME" < /usr/src/m2/db/disconnect_codes.sql report "DC import complete" 0 #report "Starting permission import" 3 #==== Importing new permissions dump #/usr/bin/mysql -h "$DB_HOST" -u "$DB_USERNAME" --password="$DB_PASSWORD" "$DB_NAME" < /usr/src/mor/x6/db/permissions.sql #report "Permission import complete" 0 # This is very very old, most likely not needed everywhere, and definetley not on new ROCKY instalations. # logic behind this is such # 1) We check if invoice conflines are already in new version (i.e. already updated to new version and not modified by client) # if this is the case we do nothing # 2) If invoice are not in new version, then we check if it is in old version # It this is the case we update conflines to new version # 3) If conflines are not in new or ir in old version, it means that client manually modified cells and we do not do anything if [[ $ROCKY9 != 1 ]]; then report "Checking invoice cells" 0 check_if_invoice_file_modified if [ $invoice_file_modified == "1" ]; then report "Client modified default template. Will not update cells" 3 else check_if_invoice_cells_new if [ $conflines_already_new == "1" ]; then report "Invoice cells are already updated" 0 else check_if_old_invoice_cells_modified if [ $conflines_modified == "0" ]; then report "Default invoice cells values were NOT changed by user. Updating cells to new values" 3 MYSQL_PWD=$DB_PASSWORD /usr/bin/mysql -h "$DB_HOST" -u $DB_USERNAME $P_OPT "$DB_NAME" < /usr/src/m2/db/invoice_conflines_update.sql # if apache installd if [ -f /var/www/html ]; then cp -rf /usr/src/m2/gui/gui_config_files/default_new.xlsx /home/m2/public/invoice_templates/default.xlsx chown apache:apache -R /home/m2/public/invoice_templates/ fi report "Invoice cells and template were updated" 0 else report "Default invoice cells values were changed by user. Will not update to new cells. Check CRM #29116" 3 fi fi fi fi # Set cron that updates timezones every day report "Setting up cron for timezones update" 3 cp -f /usr/src/k_framework/maintenance/db_timezones_update.sh /usr/local/m2/m2_db_timezones_update.sh chmod 777 /usr/local/m2/m2_db_timezones_update.sh /usr/local/m2/m2_db_timezones_update.sh &> /dev/null cronjob="0 7 * * * root flock -w 0 /var/lock/m2_db_timezones_update.lock /usr/local/m2/m2_db_timezones_update.sh >> /var/log/m2/m2_db_timezones_update.log 2>&1" echo "$cronjob" > /etc/cron.d/m2_db_timezones_update chmod 0644 /etc/cron.d/m2_db_timezones_update systemctl restart crond report "Timezones update cron created" 0 report "DB Update complete" 0