早上利用Composer安装了Yii2.0的高级版,全部配置完成之后发现登录处出错,报错显示没有对应的用户表,然后对照着Github上的官方文档又看了一遍,发现第三步没有执行,不知道这一步怎么做,求指导。
早上利用Composer安装了Yii2.0的高级版,全部配置完成之后发现登录处出错,报错显示没有对应的用户表,然后对照着Github上的官方文档又看了一遍,发现第三步没有执行,不知道这一步怎么做,求指导。
第三步是执行数据库迁移操作, 关于迁移相关的 文档
你先建立好数据库
在common/config/main-local.php中配置数据信息
yii是一个php脚本, 你可以运行 php yii migrate
会执行 console/migrations 目录下面的迁移脚本, 刚开始这个迁移是建立了一张用户表
迁移脚本内容如下
<code><?php use yii\db\Schema; use yii\db\Migration; class m130524_201442_init extends Migration { public function up() { $tableOptions = null; if ($this->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}}'); } }</code>
基于basic template的猜测,你试试到项目目录下,执行这个:
<code>./yii migrate </code>
打开cmd,定位到项目目录下,键入
<code>yii migrate</code>
如果是重新安装YII2的话 可以直接把用户表拷贝生成就可以了。第3步的意思主要是配置数据库表等
Yii高级模板Migrate