工匠迁移错误" Class' Doctrine \\ DBAL \\ Driver \\ PDOMySql \\ Driver'找不到",

时间:2015-11-20 02:26:48

标签: php laravel symfony laravel-5

尝试运行迁移时,我收到错误Artisan migration

  

错误:Class 'Doctrine\\DBAL\\Driver\\PDOMySql\\Driver' not found

我在这里阅读了这些问题,并看到了要添加的注释:

composer.json的requires部分中的

doctrine/dbal": "~2.3

Github Bug Report

但是,我不明白发生了什么。我几天前创建了一张表,没有任何问题。

在composer.son中添加该依赖项后,我无法弄清楚要做什么。

我不想意外更新任何其他套餐。

12 个答案:

答案 0 :(得分:36)

doctrine/dbal依赖关系需要添加到您的composer.json

composer require doctrine/dbal

有关详细信息,请查看laravel #Modifying Columns

答案 1 :(得分:16)

您必须降级当前版本,这对我有用:

composer require doctrine/dbal:2.*

答案 2 :(得分:11)

在我的情况下,composer安装和composer安装均无法正常工作,并给出相同的错误“找不到类'Doctrine \ DBAL \ Driver \ PDOMySql \ Driver'”,

下面给出了我为使其可行而进行的更改

composer.json文件已更改

findViewById

此更改为

 "doctrine/dbal": "^3.0",

然后运行命令

"doctrine/dbal": "^2.0",

答案 3 :(得分:6)

如果您使用准则3,请降级为"doctrine/dbal": "^2.10.3"(我不知道laravel为准则3更新了迁移工具。如果这样做,则应该更新laravel工具)。 他们重命名了班级,Doctrine\\DBAL\\Driver\\PDOMySql\\Driver不存在

答案 4 :(得分:4)

如前所述,请使用composer require doctrine/dbal,如果由于某种原因无法正常工作,请使用较低版本的composer require doctrine/dbal:^2.12.1,然后运行composer dumpautoload -o

答案 5 :(得分:2)

如果您要编辑数据库中的列,则会显示此消息。

要解决此问题,请执行以下操作:

  • 1. giving an elliptic curve y^2 = x^3 + ax + b 2. the user will input a, b and two points that exactly on the curve. 依赖项添加到doctrine/dbal
  • 并使用composer.json命令

答案 6 :(得分:1)

运行

  

作曲家更新

它将安装您缺少的软件包,例如PDOMySql。

答案 7 :(得分:1)

Laravel

谁曾经遇到这个问题 教义/dbal”:“3.0”含铅量: 降级到

"doctrine/dbal": "^2.10".

如果您仍然遇到例如获取问题的问题

Laravel \ Passport \ Bridge \ AccessToken :: __ toString()不得抛出 例外

您应该需要lcobucci / jwt的上一版本。它只是自动更新到3.4,这对我造成了这些问题。 花了我大约3-4个小时来追踪一切。 希望它也能帮助其他人。

composer require lcobucci/jwt 3.3.3

答案 8 :(得分:0)

你能分享你当前的composer.json吗?

在composer.json更新之后,您可以执行composer install。它不会更新现有的包(因为生成的composer.lock),它只会安装新的包。

自上次迁移以来发生了哪些变化?

这是同一目录中的同一个项目?如果是这样,它应该在那里。

答案 9 :(得分:0)

好的,非常感谢你的帮助。 愚蠢的是,我已经读过要做其他一些操作,调用丢失的驱动程序,并且我曾试图在前几天运行迁移来更改列名,而我完全忘记的是后续迁移运行试图仍然运行那么糟糕一。一旦我记住并删除了更新列名迁移,我的添加表迁移运行正常。有几个星期的项目,我没有包更新!!

答案 10 :(得分:-1)

如果您的项目使用PhpStorm编辑器,请打开“终端”选项卡并运行以下命令:

composer require doctrine/dbal

enter image description here

您还可以在项目的根目录中打开命令窗口并运行该命令。

答案 11 :(得分:-1)

如果您使用的是 laravel 7,请降级“doctrine/dbal”

来自

doctrine/dbal:"^3.1"

doctrine/dbal:"^2.0"

然后运行

composer update

它对我有用