Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Symfony 4-找不到所有迁移版本_Php_Symfony_Doctrine Orm_Doctrine_Symfony4 - Fatal编程技术网

Php Symfony 4-找不到所有迁移版本

Php Symfony 4-找不到所有迁移版本,php,symfony,doctrine-orm,doctrine,symfony4,Php,Symfony,Doctrine Orm,Doctrine,Symfony4,我正在尝试在Symfony 4应用程序上运行迁移,总共有271次迁移。但是,这样做时,它会跳过前41次迁移(第一次是版本20180921083101) 我一直在尝试更新模式、清除缓存并删除/重新创建数据库,但没有成功。我还尝试通过运行以下命令仅执行第一个命令: >>> php bin/console doctrine:migrations:migrate Version20180921083101 Application Migrati

我正在尝试在Symfony 4应用程序上运行迁移,总共有271次迁移。但是,这样做时,它会跳过前41次迁移(第一次是版本20180921083101)

我一直在尝试更新模式、清除缓存并删除/重新创建数据库,但没有成功。我还尝试通过运行以下命令仅执行第一个命令:

>>> php bin/console doctrine:migrations:migrate Version20180921083101

                    Application Migrations


Unknown version: Version20180921083101
似乎无法识别版本20181114063803之前的版本。 我已经为这个问题挣扎了一段时间,现在已经没有东西可以尝试了,所以任何帮助或指点都将不胜感激。
谢谢

您只需将时间戳作为参数传递,例如:

>>> php bin/console doctrine:migrations:migrate 20180921083101

还请检查

在更新doctrine_迁移包后,我遇到了相同的问题。在我的例子中,这个错误并不是很准确,事实上它更多的是一个“没有被认为是有效的迁移”的问题,而不是一个真正的未发现的问题,所以我把它放在那里,以防有人遇到同样的情况

添加以下缺少的函数解决了我的问题:

 public function getDescription() : string
    {
        return 'Your description';
    }

对我来说,问题是我在跑步

php bin/console doctrine:migrations:migrate 'DoctrineMigrations\Version20210403042222'
而不是

php bin/console doctrine:migrations:migrate DoctrineMigrations\Version20210403042222
没有单引号,尽管文档中的示例使用单引号

因此,对于最初的文章,我认为您只需要添加名称空间,而不使用任何引号:

php bin/console doctrine:migrations:migrate DoctrineMigrations/Version20180921083101

如果使用Symfony v.4并希望执行一次迁移,则应使用下一个命令

php bin/console原则:迁移:执行--up 20180921083101


问题可能来自在所有内容合并到一起之前从不同分支执行的迁移。如果我的内存正确Symfony将保存在当前数据库中执行的最后一次迁移,如果迁移来自具有以前时间戳的其他分支,它们将不会使用条令:migrations:migrate命令执行。

您可以发布该文件的内容,或者自己将其与工作迁移进行比较吗?我看不出工作迁移和非工作迁移之间有任何区别(sql查询除外)。谢谢,但这样做仍然会给我相同的结果“未知版本”。你还有什么我可以试试的吗?@user3195845使用
doc:mig:mig“doctrinempogrations\20180921083101”
php bin/console doctrine:migrations:migrate DoctrineMigrations/Version20180921083101