VichUploaderBundle
VichUploaderBundle copied to clipboard
Mapping error when updated to Symfony 5.4 : missing config/doctrine/File.orm.xml
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