yii2資料庫遷移

2021-09-11 06:11:56 字數 3214 閱讀 7303

.\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...