HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux dev1 5.15.83-1-pve #1 SMP PVE 5.15.83-1 (2022-12-15T00:00Z) x86_64
User: safarimaris (1000)
PHP: 7.2.34-54+ubuntu22.04.1+deb.sury.org+1
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,
Upload Files
File: /home/safarimaris/home/safarimaris/console/migrations/m161115_112721_price.php
<?php

use yii\db\Migration;

class m161115_112721_price extends Migration
{
    public function up()
    {
        $createTriggerSql = <<< SQL
            CREATE
                TRIGGER `min_price` AFTER UPDATE ON `tour`
                FOR EACH ROW BEGIN
            
                UPDATE entity e
                JOIN
                    ( SELECT t.entityId, MIN(t.price) AS price
                      FROM tour t
                      WHERE t.price > 0 AND t.entityId = NEW.entityId
                    ) nw
                ON nw.entityId = e.id
                SET e.price = nw.price
                WHERE e.id = NEW.entityId;
            END;
SQL;

        $this->execute('DROP TRIGGER /*!50032 IF EXISTS */ `min_price`');
        $this->execute($createTriggerSql);
    }

    public function down()
    {
        $this->execute('DROP TRIGGER /*!50032 IF EXISTS */ `min_price`');
    }

}