.\yii migrate/create create_test_table #建立乙個資料庫遷移
.\yii migrate #提交所有的遷移
.\yii migrate m160623_034801_create_test_table #指定類名,提交乙個遷移
.\yii migrate/down #還原最近一次遷移:
.\yii migrate/redo #重做最近一次提交的遷移【先down後up】
.\yii migrate/history all #顯示所有的提交遷移
.\yii migrate/new all #顯示所有的未提交遷移
<?php
use yii\db\migration;
/** * class m190222_074920_new_table
*/class m190222_074920_new_table extends migration
*/public function safeup()
//建立資料表test_table並且定義表中字段
$this->createtable('}', [
'id' => $this->primarykey(),
'parent_id' => $this->integer(11)->defaultvalue(0)->comment('父級選單id'),
'menu_name' => $this->string(100)->notnull()->comment('選單名稱'),
'menu_type' => $this->string(100)->notnull()->comment('選單型別(menu選單,sub_menu子選單)'),
'menu_action' => $this->string(100)->notnull()->comment('選單鏈結'),
'menu_roles' => $this->string(100)->comment('角色'),
'menu_depth' => $this->smallinteger(1)->defaultvalue(0)->comment('選單深度'),
'menu_icon' => $this->text()->comment('icon**:圖示'),
'menu_des' => $this->text()->comment('選單簡介'),
'menu_order' => $this->smallinteger(1)->defaultvalue(0)->comment('顯示順序'),
'menu_show' => $this->smallinteger(1)->defaultvalue(0)->comment('是否顯示(0:顯示, 1:不顯示)'),
'created_at' => $this->integer(),
'updated_at' => $this->integer(),
],$tableoptions);
//插入一條資料
$this->insert('}',[
'id' => 1,
'menu_name' => '管理',
'menu_type' => 'menu'
]);//新增字段
$this->addcolumn('}', 'aaa2', 'int(10) not null comment "審核人"');
//修改字段
$this->altercolumn('}', 'menu_des', 'smallint(4) not null default 0 comment "繫結狀態,0:解綁 1:未繫結 2:審核中 3:審核通過 4:審核拒絕 5:禁用"');
//修改欄位名
$this->renamecolumn('}','created_at','created_at2');
//增加索引
$this->createindex('}', "}", ['created_at2'],true);
//刪除字段
$this->dropcolumn('}', 'updated_at');
}/**
* */
public function safedown()
}',[
'id' => 1
]);//drop掉整個表
$this->droptable('}');}/*
// use up()/down() to run migration code without a transaction.
public function up()
public function down()
*/}
yii\db\migration::execute(): 執行一條 sql 語句
yii\db\migration::insert(): 插入單行資料
yii\db\migration::batchinsert(): 插入多行資料
yii\db\migration::update(): 更新資料
yii\db\migration::delete(): 刪除資料
yii\db\migration::createtable(): 建立表
yii\db\migration::renametable(): 重新命名表名
yii\db\migration::droptable(): 刪除一張表
yii\db\migration::truncatetable(): 清空表中的所有資料
yii\db\migration::addcolumn(): 加乙個字段
yii\db\migration::renamecolumn(): 重新命名欄位名稱
yii\db\migration::dropcolumn(): 刪除乙個字段
yii\db\migration::altercolumn(): 修改字段
yii\db\migration::addprimarykey(): 新增乙個主鍵
yii\db\migration::dropprimarykey(): 刪除乙個主鍵
yii\db\migration::addforeignkey(): 新增乙個外來鍵
yii\db\migration::dropforeignkey(): 刪除乙個外來鍵
yii\db\migration::createindex(): 建立乙個索引
yii\db\migration::dropindex(): 刪除乙個索引
基礎YII2資料庫操作
注意 為了保持精度,從資料庫中取出的資料都被表示為字串,即使相應的資料庫列型別數值。當建立從乙個帶引數的sql乙個db命令,你應該總是使用繫結引數的方法來防止sql注入攻擊。引數繫結是通過預處理語句來實現。除了防止sql注入攻擊,也可通過一次準備sql語句和多次使用不同的引數執行它提高效能 yii ...
yii2 查詢資料庫語法
1 query0 imgroupuser find where gid 56680dfc60b215d62104a4d8 select user client id all ar2 query1 imgroupuser findall gid 56680dfc60b215d62104a4d8 ar3...
Yii2 如何定義資料庫連線
在saas中,多租戶資料庫分庫管理時常常需要我們自定義資料庫鏈結,並且需要支援在框架載入後再呼叫資料庫連線。yii2 如何定義資料庫連線?要注意的是 user chenlb namespace backend modules monitormysql controllers show class a...