Yii2 是否为用户创建了默认的 MySQL 数据库?

问题描述

我正在测试 Yii2 Advanced template 的后端。我在尝试登录后端登录页面时出错。它尝试连接到我认为有登录表的 MysqL 数据库

Yii2 是否也在创建数据库

这是我的步骤:

我创建了一个项目:

composer create-project --prefer-dist yiisoft/yii2-app-advanced my-yii2-backend

我初始化了它:

PHP ./init

然后我运行PHP服务器:

PHP yii serve --docroot="backend/web/"

它在 localhost:8080 中执行,我可以看到:

Yii2 Advanced backend login

解决方法

它不创建数据库。

Yii2 不假定知道您可能想要或需要什么样的数据库,因此它不会为您创建数据库。假设您想使用像 mysql 这样无处不在的东西,您可以创建一个数据库,如:CREATE DATABASE <dbname> CHARACTER SET utf8 COLLATE utf8_general_ci;。在配置中创建数据库 set up the database connection 之后。

进一步的 Yii2 不会告诉你如何设置你的用户模块或身份验证,但如果你想使用框架钩子,你必须实现 yii\web\IdentityInterface

如果您阅读了几个简短的段落 here,就会得到解释。

这里有一个建议可以帮助您:

  1. 按照上面的建议创建和配置数据库
  2. 运行 this migration(或使用它创建您自己的)
  3. 使用实现 yii\web\IdentityInterfacethis example 用户模型(或使用它创建您自己的模型)

注意:检查命名空间,如果您使用的是高级 >模板,它们可能会有所不同。