【问题标题】:Symfony Doctrine reset databaseSymfony Doctrine 重置数据库
【发布时间】:2018-01-13 01:37:55
【问题描述】:

我正在尝试将我的 symfony 数据库与 Sequel Pro(数据库管理工具)连接,但是当我第一次安装 Symfony 时,Symfony 设置原则的方式是使用“sqlite:///%kernel.project_dir%/var/data. db”,我无法将其更改为 mysql 并设置自定义密码和用户。

有什么方法可以重置学说,以便我可以从头开始并使用自己的密码和用户设置数据库?

我已经尝试过教义:数据库:转储,但这没有帮助,也没有帮助删除教义并重新安装它。

【问题讨论】:

  • 我也试过 "$this->getDoctrine()->getManager()->getConnection()->getPassword()" 看看我是否能得到密码,但这会返回 null。
  • 你使用的是什么版本的 Symfony?你不需要删除和重新安装 Doctrine,你只需要在config.yml 正确配置它来设置驱动程序和parameters.yml 来设置主机、端口、数据库名称、用户和密码(假设你在 2.8版本)。
  • 我不知道该怎么做?
  • 再说一遍,您使用的是什么版本的 Symfony?
  • 我使用的是最新版本的 Symfony。

标签: php symfony doctrine


【解决方案1】:

考虑到您使用的是 Symfony 4,您需要更新您的 .env 文件才能使用 MySQL。搜索:

DATABASE_URL="sqlite:///%kernel.project_dir%/var/app.db"

并将其替换为:

DATABASE_URL="mysql://db_user:db_password@127.0.0.1:3306/db_name"

当然,您需要使用要使用的用户/密码和数据库名称对其进行自定义。

然后在config/packages/doctrine.yaml 中确保有类似的内容:

doctrine:
    dbal:
        driver: 'pdo_mysql'
        server_version: '5.7'
        charset: utf8mb4
        url: '%env(resolve:DATABASE_URL)%'

请确保在此处设置您正在使用的正确 MySQL 服务器版本。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-04
    • 2015-04-22
    • 1970-01-01
    • 2011-08-26
    • 2013-10-27
    • 2014-06-25
    相关资源
    最近更新 更多