当前位置: 首页 > 知识库问答 >
问题:

Symfony 2.4。2编写器迁移包

查修谨
2023-03-14

我正在尝试Symfony,但在我决定不测试迁移后遇到了一些问题。

从文档中我了解到,我必须将其添加到composer json中。

"doctrine/doctrine-migrations-bundle": "dev-master",

这就是我现在拥有的:

"require": {
        "php": ">=5.3.3",
        "symfony/symfony": "~2.4",
        "doctrine/orm": "~2.2,>=2.2.3",
        "doctrine/doctrine-bundle": "~1.2",
        "doctrine/doctrine-migrations-bundle": "dev-master",
        "twig/extensions": "~1.0",
        "symfony/assetic-bundle": "~2.3",
        "symfony/swiftmailer-bundle": "~2.3",
        "symfony/monolog-bundle": "~2.4",
        "sensio/distribution-bundle": "~2.3",
        "sensio/framework-extra-bundle": "~3.0",
        "sensio/generator-bundle": "~2.3",
        "incenteev/composer-parameter-handler": "~2.0"
    },

但这不起作用。它找不到正确的版本。

这就是错误:

问题1-原则/原则迁移的安装请求-捆绑开发-主-

潜在原因:-包名称中的一个错别字-根据您的最低稳定性设置,包在足够稳定的版本中不可用,请参阅https://groups.google.com/d/topic/composer-dev/_g3ASeIFlrc/discussion了解更多详细信息。

在这之后,还有大量的谷歌搜索(https://github.com/doctrine/DoctrineMigrationsBundle/issues/54)我试图为“条令/条令包”设置版本“~1.2”,以要求aplha版本。这确实继续了安装,但带来了一个新问题。

将此行添加到应用内核到$bundles数组中后:

new Doctrine\Bundle\MigrationsBundle\DoctrineMigrationsBundle(),

我尝试在终端运行此:PHP应用程序/控制台原则:迁移:状态

但它给了我以下错误:

致命错误:在第30行的 /Applications/MAMP/htdocs/symfony/vendor/doctrine/doctrine-migrations-bundle/Doctrine/Bundle/MigrationsBundle/Command/MigrationsLatestDoctrineCommand.php中找不到类“教义\DBAL\迁移\工具\控制台\命令\最新命令”

现在我真的不知道我错过了什么。我不知道如何让它工作。我希望有人能把我推向正确的方向!谢谢

共有2个答案

薛飞星
2023-03-14

你应该检查一下https://packagist.org/packages/doctrine/doctrine-migrations-bundle并尝试安装最新版本。指定更精确的版本更有利于整体稳定性,因为获取最新软件包的composer更新可能会影响应用程序的稳定性。

西门庆
2023-03-14

如果要安装条令/条令迁移捆绑包,还需要安装条令/迁移。基于您对作曲家的复制/粘贴。json,您忘记添加它了。

尝试以下方法:

"require": {
    "php": ">=5.3.3",
    "symfony/symfony": "~2.4",
    "doctrine/orm": "~2.2,>=2.2.3",
    "doctrine/doctrine-bundle": "~1.2",
    "doctrine/migrations" : "dev-master",
    "doctrine/doctrine-migrations-bundle" : "dev-master",
    "twig/extensions": "~1.0",
    "symfony/assetic-bundle": "~2.3",
    "symfony/swiftmailer-bundle": "~2.3",
    "symfony/monolog-bundle": "~2.4",
    "sensio/distribution-bundle": "~2.3",
    "sensio/framework-extra-bundle": "~3.0",
    "sensio/generator-bundle": "~2.3",
    "incenteev/composer-parameter-handler": "~2.0"
},

您将遇到以下错误:

Fatal error: Class 'Doctrine\DBAL\Migrations\Tools\Console\Command\LatestCommand' not found in /Applications/MAMP/htdocs/symfony/vendor/doctrine/doctrine-migrations-bundle/Doctrine/Bundle/MigrationsBundle/Command/MigrationsLatestDoctrineCommand.php on line 30

因为没有下载理论/迁移,并且缺少几个类用于理论/理论-迁移-包

 类似资料:
  • 这一节介绍你可能遇到的在不同情况下如何分析和编写数据库迁移. 有关迁移的入门资料,请查看 the topic guide. 数据迁移和多数据库 在使用多个数据库时,需要解决是否针对某个特定数据库运行迁移。例如,你可能 只 想在某个特定数据库上运行迁移。 为此你可以在RunPython中通过查看schema_editor.connection.alias 属性来检查数据库连接别名: from dja

  • 问题内容: 我刚刚在Xcode 7 Beta中打开了我的旧项目。该代码在Xcode 6中可以正常工作,但是现在显示出许多错误。我不知道这些是什么。有人可以解释为什么发生这种情况,以及如何解决它吗?谢谢!这是代码 问题答案: 这是带有Swift 2.0的do / try / catch实现的updateAction()函数:

  • 我们有一个数据库,其中有一个名为Students的表,其中包含id、name、age和school列。 现在我想编写一个迁移脚本,将3列(假设我有数百万条记录)从Students表复制到New_Students表。 下面是我编写的示例脚本。这是一个错误 当在crateDb管理UI中执行上面的命令时,我得到下面的错误 以上语句在单独执行时有效。 问题: 为什么上面的多个语句不起作用,但是当单独键入时

  • 迁移器帮助开发者从其他系统迁移到 Hexo。 概要 hexo.extend.migrator.register(name, function(args){ // ... }); 在函数中需要传入 args 参数,该参数包含了开发者在终端中所传入的参数。

  • 使用validation验证器 仓库地址: validation 安装 composer require illuminate/validation 我们先单例validation验证器 namespace App\Vendor\Validators; use Illuminate\Validation\Factory; class Validator extends Factory {