Doctrine2 迁移向下迁移,并从浏览器而不是命令行迁移

2022-08-30 10:13:14

我正在使用 Doctrine2 迁移。我需要一些关于我的疑问的答案,我无法在文档中找到一个好的解决方案

我使用:

  doctrine migrations:diff // generate migrations files
  doctrine migrations:migrate // migrates up to new version
  1. 如何向下迁移?指定以前的版本不起作用(没有什么可以更新的,它说例如原则迁移:迁移版本20120211163332它说

    Migrating up to Version20120211163332 from 20120309112058
    
    [Doctrine\DBAL\Migrations\MigrationException]  
    Could not find any migrations to execute.      
    

    但它不是向上的,它应该是向下的!您还可以在响应的版本上看到

  2. 如果我必须进行一些数据库更新,是否可以添加一些SQL查询(更改与其他数据相关的一些数据)?我还没有尝试过,因为向下不起作用:((

  3. 有没有办法在浏览器中使用迁移命令?我在没有控制台访问权限的共享主机中拥有软件,所以我需要此功能,而不是逐个复制查询:D在 phpMyAdmin 中


答案 1

您可以选择手动指定要迁移到的版本:

 php doctrine.php migrations:migrate YYYYMMDDHHMMSS

或执行向上/向下迁移

php doctrine.php migrations:execute YYYYMMDDHHMMSS  --down
php doctrine.php migrations:execute YYYYMMDDHHMMSS  --up

您可以使用以下命令找到YYYYMMDDHHMMSS:

php doctrine.php migrations:status
>> Current Version:           2012-12-20 23:38:47 (20121220233847)
>> Latest Version:            2012-12-20 23:38:47 (20121220233847)

答案 2

我在Symfony的网站上看到了这个文档:http://symfony.com/doc/current/bundles/DoctrineMigrationsBundle/index.html#usage

有允许您手动向上或向下执行单个迁移版本...但从来没有尝试过,对不起。doctrine:migrations:execute

希望这有帮助!

让我们保持联系。


推荐