早上利用Composer安裝了Yii2.0的進階版,全部配置完成之後發現登入處出錯,報錯顯示沒有對應的使用者表,然後對照著Github上的官方文檔又看了一遍,發現第三步沒有執行,不知道這一步怎麼做,求指導。
回複內容:
早上利用Composer安裝了Yii2.0的進階版,全部配置完成之後發現登入處出錯,報錯顯示沒有對應的使用者表,然後對照著Github上的官方文檔又看了一遍,發現第三步沒有執行,不知道這一步怎麼做,求指導。
第三步是執行資料庫遷移操作, 關於遷移相關的 文檔
你先建立好資料庫
在common/config/main-local.php中配置資料資訊
yii是一個php指令碼, 你可以運行 php yii migrate
會執行 console/migrations 目錄下面的遷移指令碼, 剛開始這個遷移是建立了一張使用者表
遷移指令碼內容如下
db->driverName === 'mysql') { // http://stackoverflow.com/questions/766809/whats-the-difference-between-utf8-general-ci-and-utf8-unicode-ci $tableOptions = 'CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE=InnoDB'; } $this->createTable('{{%user}}', [ 'id' => Schema::TYPE_PK, 'username' => Schema::TYPE_STRING . ' NOT NULL', 'auth_key' => Schema::TYPE_STRING . '(32) NOT NULL', 'password_hash' => Schema::TYPE_STRING . ' NOT NULL', 'password_reset_token' => Schema::TYPE_STRING, 'email' => Schema::TYPE_STRING . ' NOT NULL', 'status' => Schema::TYPE_SMALLINT . ' NOT NULL DEFAULT 10', 'created_at' => Schema::TYPE_INTEGER . ' NOT NULL', 'updated_at' => Schema::TYPE_INTEGER . ' NOT NULL', ], $tableOptions); } public function down() { $this->dropTable('{{%user}}'); }}
基於basic template的猜測,你試試到項目目錄下,執行這個:
./yii migrate
開啟cmd,定位到項目目錄下,鍵入
yii migrate
如果是重新安裝YII2的話 可以直接把使用者表拷貝產生就可以了。第3步的意思主要是設定資料庫表等
Yii進階模板Migrate