2017-02-28 85 views
0

部署我的應用程序時,當然總是有一個admin用戶。Yii2-user:如何在批處理模式下創建管理員用戶?

如何創建這樣一個admin用戶爲第一用戶沒有任何互動......用SQL的方式

  • ...?
  • ...使用Yii2遷移?
+1

最簡單的方法是遷移。一旦你創建你需要,你可以使用必要的初始數據填充表應用程序的正常運行 – scaisEdge

+0

@scaisEdge如何在遷移中設置管理員用戶的密碼? – WeSee

+1

您可以使用默認密碼,並讓用戶在安裝後更改密碼的可能性。 – scaisEdge

回答

0

找到它。 Yii2內置遷移有一個簡單的方法。

在Yii2用戶中,我們可以使用一些鉤子來創建用戶。

必須在遷移中插入此代碼。創建一個新的遷移./yii migrate/create,優選在數據庫中創建初始表之後後:

use yii\db\Transaction; 
use app\models\user\User; 

public function safeUp() 
{ 
    $transaction = $this->getDb()->beginTransaction(); 
    $user = \Yii::createObject([ 
     'class' => User::className(), 
     'scenario' => 'create', 
     'email' => 'admin', 
     'username' => '[email protected]', 
     'password' => 'mysecret', 
    ]); 
    if (!$user->insert(false)) { 
     $transaction->rollBack(); 
     return false; 
    } 
    $user->confirm(); 
    $transaction->commit(); 
} 

骨架代碼可以在./migrations/...找到。

不要忘記添加數據庫配置參數./config/db.php 和用戶模塊中./config/console.php