程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP工作筆記:使用yii migrate管理、生成數據庫,yiimigrate

PHP工作筆記:使用yii migrate管理、生成數據庫,yiimigrate

編輯:關於PHP編程

PHP工作筆記:使用yii migrate管理、生成數據庫,yiimigrate


第一步:進入yii migrate

  通過dos(我是win7系統,其他系統類似,就是進入字符界面)打開網站目錄

phpStudy/WWW/local/ddc_dlss 

  輸入

./yii migrate

 

  按回車,會有個判斷是否打開migrate,輸入y按回車

  這時候,就可以創建自己的數據庫創建或者修改任務了!

舉例1:

刪除files表的data字段

  第一步:創建任務文件

$ ./yii migrate/create del_colum_data_in_files_table

  按回車,yii會在console/migrations目錄下創建一個帶del_colum_data_in_files_table名字的文件(之所以這樣命名,方便、直觀顯示這個任務的功能),前綴m161209_012357_是自動生成的,自動避免重名。

  第二步:寫執行的任務

  打開m161209_012357_del_colum_data_in_files_table.php,原始代碼如下

  需要執行刪除字段的任務寫在up函數裡面,代碼如下

  我這裡做了個判斷,如果files表data字段存在才執行刪除。

  第三步:執行刪除任務

  剛才的dos我沒關閉,直接執行

 ./yii migrate m130524_201442_init.php

  m130524_201442_init.php是系統自動生成的初始化文件,名字以init結尾,前綴肯定會跟我不一樣,很好認,文件名帶init,我截圖下給大家

  

 

  舉例2:

在file_monitor'表添加order_file_num字段,整形,長度為6

  代碼如下:

<?php

use yii\db\Migration;
use  yii\db\Schema;
//在file_monitor'表添加order_file_num字段
class m161209_015401_add_colum_order_file_num_in_file_monitor_table extends Migration
{
    public function up()
    {
        if(!isset(Yii::$app->db->getTableSchema('file_monitor')->columns['order_file_num'])){
            $this->addColumn('file_monitor','order_file_num', Schema::TYPE_INTEGER.'(6)  COMMENT "訂單文件數"');
        }
    }

    public function down()
    {
        echo "m161209_015401_add_colum_order_file_num_in_file_monitor_table cannot be reverted.\n";

        return false;
    }

    /*
    // Use safeUp/safeDown to run migration code within a transaction
    public function safeUp()
    {
    }

    public function safeDown()
    {
    }
    */
}

  

更多方法的書寫,大家可以打開

Migration.php(各種數據庫表創建修改方法)和Schema.php(設置字段類型、長度等用到)看看

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved