2017-02-28 8 views
0

私のアプリケーションをデプロイするときは、もちろん常にadminユーザーです。 SQLによるYii2ユーザー:管理ユーザーをバッチモードで作成するにはどうすればいいですか?

どのように私は、任意の相互作用せずに、最初のユーザーとして、このようなadminユーザーを作成することができます...

  • ...?
  • ... Yii2マイグレーションを使用していますか?
+1

./config/db.php のデータベース設定パラメータやユーザモジュールを追加することを忘れないでください。アプリケーションの適切な機能 – scaisEdge

+0

@scaisEdgeマイグレーション中に '' 'admin'''ユーザのパスワードを設定するにはどうしたらいいですか? – 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/console.php

関連する問題