2017-02-28 81 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

相关问题