VichUploaderBundle icon indicating copy to clipboard operation
VichUploaderBundle copied to clipboard

Mapping error when updated to Symfony 5.4 : missing config/doctrine/File.orm.xml

Open changuelsami opened this issue 2 years ago • 0 comments

BC Break Report

Q A
BC Break yes
Version 1.19.0

Summary

Updating an existing project from Symfony 4.4 to 5.0 then to 5.4

Previous behavior

No errors when upadating from Symfony 4.4 to 5.0

Current behavior

When updated from Symfony 5.0 to Symfony 5.4 the bundle throwed an error :

Specified non-existing directory "/app/vendor/vich/uploader-bundle/Resources/config/doctrine" as Doctrine mapping source

I manually https://github.com/dustin10/VichUploaderBundle/blob/master/config/doctrine/File.orm.xml into /app/vendor/vich/uploader-bundle/Resources/config/doctrine and it worked ! But I'm not supposed to manually copy files in vendor/ !! I tried to override the file but nothing happened !

How to reproduce

composer.json

{
    "type": "project",
    "license": "proprietary",
    "require": {
        "php": "^7.1.3",
        "ext-ctype": "*",
        "ext-iconv": "*",
        "beberlei/doctrineextensions": "^1.0",
        "cocur/slugify": "4",
        "doctrine/annotations": "^1.0",
        "doctrine/doctrine-bundle": "2.3.2",
        "doctrine/doctrine-migrations-bundle": "^3.2",
        "doctrine/orm": "^2.11",
        "eightpoints/guzzle-bundle": "8.0.1",
        "fig/link-util": "^1.1",
        "friendsofsymfony/ckeditor-bundle": "2.4.0",
        "friendsofsymfony/elastica-bundle": "5.2.*",
        "friendsofsymfony/jsrouting-bundle": "^2.1",
        "gemorroj/archive7z": "5.3.0",
        "geocoder-php/chain-provider": "^4.0",
        "geocoder-php/free-geoip-provider": "^4.0",
        "geocoder-php/geo-plugin-provider": "^4.0",
        "geocoder-php/host-ip-provider": "^4.0",
        "geocoder-php/nominatim-provider": "^4.1",
        "jaybizzle/crawler-detect": "^1.2",
        "knplabs/knp-gaufrette-bundle": "^0.7.1",
        "knplabs/knp-paginator-bundle": "5.7.0",
        "knplabs/knp-time-bundle": "^1.8",
        "league/csv": "^9.1",
        "league/flysystem-sftp": "^2.4",
        "liip/imagine-bundle": "2.7.1",
        "mhujer/breadcrumbs-bundle": "1.5.3",
        "mjaschen/phpgeo": "^2.0",
        "oro/doctrine-extensions": "^1.3",
        "php-http/guzzle6-adapter": "^1.1",
        "php-http/message": "^1.6",
        "phpoffice/phpspreadsheet": "^1.17",
        "presta/sitemap-bundle": "^3",
        "sensio/framework-extra-bundle": "^6",
        "sensiolabs/security-checker": "6.0.3",
        "stof/doctrine-extensions-bundle": "1.5.0",
        "symfony/asset": "5.4.*",
        "symfony/config": "5.4.*",
        "symfony/console": "5.4.*",
        "symfony/expression-language": "5.4.*",
        "symfony/flex": "^1.3.1",
        "symfony/form": "5.4.*",
        "symfony/framework-bundle": "5.4.*",
        "symfony/lock": "5.4.*",
        "symfony/mailer": "5.4.*",
        "symfony/monolog-bundle": "^3.2",
        "symfony/proxy-manager-bridge": "5.4.*",
        "symfony/security-bundle": "5.4.*",
        "symfony/twig-bundle": "5.4.*",
        "symfony/validator": "5.4.*",
        "symfony/web-link": "5.4.*",
        "symfony/webpack-encore-bundle": "^1.0",
        "symfony/yaml": "5.4.*",
        "twig/extra-bundle": "^3.3",
        "twig/intl-extra": "^3.3",
        "vich/uploader-bundle": "^1.19"
    },
    "require-dev": {
        "easycorp/easy-log-handler": "^1.0",
        "friendsofphp/php-cs-fixer": "^2.13",
        "laminas/laminas-code": "^3.1.0",
        "phpmd/phpmd": "^2.6",
        "phpunit/phpunit": "^8.5",
        "symfony/browser-kit": "5.4.*",
        "symfony/css-selector": "5.4.*",
        "symfony/debug-bundle": "5.4.*",
        "symfony/maker-bundle": "^1.0",
        "symfony/phpunit-bridge": "^6.0",
        "symfony/stopwatch": "5.4.*",
        "symfony/web-profiler-bundle": "5.4.*"
    },
    "config": {
        "preferred-install": {
            "*": "dist"
        },
        "sort-packages": true,
        "allow-plugins": {
            "symfony/flex": true
        }
    },
    "autoload": {
        "psr-4": {
            "App\\": "src/"
        }
    },
    "autoload-dev": {
        "psr-4": {
            "App\\Tests\\": "tests/"
        }
    },
    "replace": {
        "paragonie/random_compat": "2.*",
        "symfony/polyfill-ctype": "*",
        "symfony/polyfill-iconv": "*",
        "symfony/polyfill-php71": "*",
        "symfony/polyfill-php70": "*",
        "symfony/polyfill-php56": "*"
    },
    "scripts": {
        "auto-scripts": {
            "cache:clear": "symfony-cmd",
            "ckeditor:install --clear=drop": "symfony-cmd",
            "assets:install --symlink --relative %PUBLIC_DIR%": "symfony-cmd",
            "fos:js-routing:dump --format=json --target=assets/routes.json": "symfony-cmd"
        },
        "post-install-cmd": [
            "@auto-scripts"
        ],
        "post-update-cmd": [
            "@auto-scripts"
        ]
    },
    "conflict": {
        "symfony/symfony": "*"
    },
    "extra": {
        "symfony": {
            "allow-contrib": false,
            "require": "5.4.*"
        }
    }

}

doctrine.yaml

parameters:
    env(DATABASE_URL): ''

doctrine:
    dbal:
        driver: 'pdo_mysql'
        server_version: mariadb-10.1.26
        charset: utf8
        default_table_options:
            charset: utf8mb4
            collate: utf8mb4_unicode_ci
        url: '%env(string:DATABASE_URL)%'
        mapping_types:
            enum: string
    orm:
        auto_generate_proxy_classes: true
        naming_strategy: doctrine.orm.naming_strategy.underscore_number_aware
        auto_mapping: true
        mappings:
            App:
                is_bundle: false
                type: annotation
                dir: '%kernel.project_dir%/src/Entity'
                prefix: 'App\Entity'
                alias: App
        dql:
            datetime_functions:
                date: DoctrineExtensions\Query\Mysql\Date
                date_format: DoctrineExtensions\Query\Mysql\DateFormat
            numeric_functions:
                md5: DoctrineExtensions\Query\Mysql\Md5

vich_uploader.yaml

vich_uploader:
    db_driver: orm
    storage: gaufrette
    mappings:
        univers_image:
            uri_prefix: /images/univers
            upload_destination: univers_fs
            namer: Vich\UploaderBundle\Naming\UniqidNamer
            inject_on_load: false
            delete_on_update: true
            delete_on_remove: true

changuelsami avatar Mar 21 '22 09:03 changuelsami