Вход Регистрация
Файл: silawar.ru/protected/migrations/abilities.php
Строк: 109
<?php

class m141223_224844_actions extends CDbMigration {

    public function 
up() {
        
$this->execute("
            CREATE TABLE `shop_abilities` (
  `id_ability` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `name_ability` varchar(64) NOT NULL,
  `descr_ability` varchar(500) NOT NULL,
  `passive_ability` varchar(500) NOT NULL,
  PRIMARY KEY (`id_ability`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

CREATE TABLE `shop_abilities_types` (
  `id_type` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `id_ability` int(11) unsigned NOT NULL,
  `type` tinyint(1) unsigned NOT NULL,
  `value` int(3) unsigned NOT NULL,
  `time_active` int(11) unsigned NOT NULL,
  `time_cooldown` int(11) unsigned NOT NULL,
  `money` int(11) unsigned NOT NULL,
  PRIMARY KEY (`id_type`),
  KEY `id_ability` (`id_ability`),
  CONSTRAINT `shop_abilities_types_ibfk_1` FOREIGN KEY (`id_ability`) REFERENCES `shop_abilities` (`id_ability`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

CREATE TABLE `users_abilities` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `id_user` int(11) unsigned NOT NULL,
  `id_ability` int(11) unsigned NOT NULL,
  `id_type` int(11) unsigned NOT NULL,
  `chosen` tinyint(1) unsigned NOT NULL,
  `time_active` int(11) unsigned NOT NULL,
  `time_cooldown` int(11) unsigned NOT NULL,
  PRIMARY KEY (`id`),
  KEY `id_ability` (`id_ability`),
  KEY `id_type` (`id_type`),
  KEY `id_user` (`id_user`),
  CONSTRAINT `users_abilities_ibfk_1` FOREIGN KEY (`id_ability`) REFERENCES `shop_abilities` (`id_ability`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `users_abilities_ibfk_2` FOREIGN KEY (`id_type`) REFERENCES `shop_abilities_types` (`id_type`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `users_abilities_ibfk_3` FOREIGN KEY (`id_user`) REFERENCES `users` (`id_user`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
ALTER TABLE `mland`.`shop_abilities` 
ADD COLUMN `info` VARCHAR(64) NOT NULL AFTER `descr_ability`;

                "
);

        if (
Yii::app()->hasComponent('cache')) {
            
Yii::app()->getComponent('cache')->flush();
            echo 
"Cache flusedn";
        }

        
$this->clearAssets();
    }

    private function 
clearAssets() {
        
$path Yii::app()->getComponent('assetManager')->getBasePath();
        
$this->clearDir($path);
        echo 
"Assets clearn";
    }

    private function 
clearDir($folder$main true) {
        if (
is_dir($folder)) {
            
$handle opendir($folder);
            while (
$subfile readdir($handle)) {
                if (
$subfile == '.' || $subfile == '..')
                    continue;
                if (
is_file($subfile))
                    
unlink("{$folder}/{$subfile}");
                else
                    
$this->clearDir("{$folder}/{$subfile}"false);
            }
            
closedir($handle);
            if (!
$main)
                
rmdir($folder);
        } else
            
unlink($folder);
    }

    public function 
down() {
        echo 
"m141223_224844_actions does not support migration down.n";
        return 
false;

        
$this->execute("");
    }

    
/*
      // Use safeUp/safeDown to do migration with transaction
      public function safeUp()
      {
      }

      public function safeDown()
      {
      }
     */
}
Онлайн: 2
Реклама