-
Notifications
You must be signed in to change notification settings - Fork 24
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1293 from proditis/master
update player maintenance and add keys for expiration
- Loading branch information
Showing
4 changed files
with
110 additions
and
0 deletions.
There are no files selected for viewing
31 changes: 31 additions & 0 deletions
31
backend/migrations-init/m241106_101540_add_player_deletion_sysconfig_keys.php
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
<?php | ||
|
||
use yii\db\Migration; | ||
|
||
/** | ||
* Class m241106_101540_add_player_deletion_sysconfig_keys | ||
*/ | ||
class m241106_101540_add_player_deletion_sysconfig_keys extends Migration | ||
{ | ||
/** | ||
* {@inheritdoc} | ||
*/ | ||
public function safeUp() | ||
{ | ||
$this->upsert('sysconfig', ['id' => 'player_delete_inactive_after', 'val' => 10]); | ||
$this->upsert('sysconfig', ['id' => 'player_delete_deleted_after', 'val' => 30]); | ||
$this->upsert('sysconfig', ['id' => 'player_changed_to_deleted_after', 'val' => 10]); | ||
$this->upsert('sysconfig', ['id' => 'player_delete_rejected_after', 'val' => 5]); | ||
} | ||
|
||
/** | ||
* {@inheritdoc} | ||
*/ | ||
public function safeDown() | ||
{ | ||
$this->upsert('sysconfig', ['id' => 'player_delete_inactive_after']); | ||
$this->upsert('sysconfig', ['id' => 'player_delete_deleted_after']); | ||
$this->upsert('sysconfig', ['id' => 'player_changed_to_deleted_after']); | ||
$this->upsert('sysconfig', ['id' => 'player_delete_rejected_after']); | ||
} | ||
} |
48 changes: 48 additions & 0 deletions
48
backend/migrations/m241106_082202_create_player_maintenance_procedure.php
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
<?php | ||
|
||
use yii\db\Migration; | ||
|
||
/** | ||
* Class m241106_082202_create_player_maintenance_procedure | ||
*/ | ||
class m241106_082202_create_player_maintenance_procedure extends Migration | ||
{ | ||
public $DROP_SQL = "DROP PROCEDURE IF EXISTS {{%player_maintenance}}"; | ||
public $CREATE_SQL = "CREATE PROCEDURE {{%player_maintenance}} () | ||
BEGIN | ||
DECLARE player_require_approval,player_delete_inactive_after,player_delete_deleted_after,player_changed_to_deleted_after,player_delete_rejected_after INT; | ||
SET player_require_approval=memc_get('sysconfig:player_require_approval'); | ||
SET player_delete_inactive_after=memc_get('sysconfig:player_delete_inactive_after'); | ||
SET player_delete_deleted_after=memc_get('sysconfig:player_delete_deleted_after'); | ||
SET player_changed_to_deleted_after=memc_get('sysconfig:player_changed_to_deleted_after'); | ||
SET player_delete_rejected_after=memc_get('sysconfig:player_delete_rejected_after'); | ||
IF player_require_approval IS NOT NULL and player_require_approval>0 AND player_delete_rejected_after IS NOT NULL AND player_delete_rejected_after>0 THEN | ||
DELETE FROM `player` WHERE `ts` < NOW() - INTERVAL player_delete_rejected_after DAY AND `status`=9 AND approval=4; | ||
END IF; | ||
IF player_delete_inactive_after IS NOT NULL AND player_delete_inactive_after > 0 THEN | ||
DELETE FROM `player` WHERE `ts` < NOW() - INTERVAL player_delete_inactive_after DAY AND `status`=9; | ||
END IF; | ||
IF player_delete_deleted_after IS NOT NULL AND player_delete_deleted_after > 0 THEN | ||
DELETE FROM `player` WHERE `ts` < NOW() - INTERVAL player_delete_deleted_after DAY AND `status`=0; | ||
END IF; | ||
IF player_changed_to_deleted_after IS NOT NULL AND player_changed_to_deleted_after > 0 THEN | ||
UPDATE player SET status=0 WHERE status=8 AND ts < NOW() - INTERVAL player_changed_to_deleted_after DAY; | ||
END IF; | ||
END"; | ||
|
||
// Use up()/down() to run migration code without a transaction. | ||
public function up() | ||
{ | ||
$this->db->createCommand($this->DROP_SQL)->execute(); | ||
$this->db->createCommand($this->CREATE_SQL)->execute(); | ||
} | ||
|
||
public function down() | ||
{ | ||
$this->db->createCommand($this->DROP_SQL)->execute(); | ||
} | ||
} |
26 changes: 26 additions & 0 deletions
26
backend/migrations/m241106_082203_update_player_maintenance_event.php
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
<?php | ||
|
||
use yii\db\Migration; | ||
|
||
/** | ||
* Class m241106_082203_update_player_maintenance_event | ||
*/ | ||
class m241106_082203_update_player_maintenance_event extends Migration | ||
{ | ||
public $DROP_SQL = "DROP EVENT IF EXISTS {{%player_maintenance}}"; | ||
public $CREATE_SQL = "CREATE EVENT {{%player_maintenance}} ON SCHEDULE EVERY 1 DAY STARTS '2020-01-01 00:00:00' ON COMPLETION PRESERVE ENABLE DO | ||
BEGIN | ||
CALL player_maintenance(); | ||
END"; | ||
|
||
public function up() | ||
{ | ||
$this->db->createCommand($this->DROP_SQL)->execute(); | ||
$this->db->createCommand($this->CREATE_SQL)->execute(); | ||
} | ||
|
||
public function down() | ||
{ | ||
$this->db->createCommand($this->DROP_SQL)->execute(); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters