Payum Bundle Symfony 2 extended_payment_data
После установки Payum Bundle, когда я делаю php app/console doctrine:schema:update --force
Я получаю это исключение:
C: \ wamp \ www \ shop_ @ stable> php app / console доктрина: схема: обновление --force
[Учение \DBAL\DBALException]
Запрошен неизвестный тип столбца "extended_payment_data". Любой тип Doctrine, который вы используете, должен быть зарегистрирован в \Doctrine\DBAL\Types\Type::addType(). Вы можете получить список всех
известные типы с помощью \Doctrine\DBAL\Types\Type::getTypesMap(). Если эта ошибка происходит дури
ng, самоанализ базы данных, тогда вы, возможно, забыли зарегистрировать все типы баз данных для
Тип учения. Используйте AbstractPlatform#registerDoctrineTypeMapping() или используйте свой собственный
типы реализуют Type#getMappedDatabaseTypes(). Если имя типа пусто, вы можете иметь
проблема с кешем или забыл некоторую информацию о отображении
Это мой контент composer.json:
"require": {
"php": ">=5.5.12",
"symfony/symfony": "2.8.0",
"doctrine/dbal": "2.4",
"doctrine/orm": "2.4",
"doctrine/doctrine-bundle": "~1.4",
"symfony/assetic-bundle": "~2.3",
"symfony/swiftmailer-bundle": "~2.3",
"symfony/monolog-bundle": "~2.4",
"sensio/distribution-bundle": "~4.0",
"sensio/framework-extra-bundle": "^3.0.2",
"incenteev/composer-parameter-handler": "~2.0",
"friendsofsymfony/user-bundle": "~2.0@dev",
"php-http/curl-client": "^1.3",
"payum/paypal-express-checkout-nvp": "^1.2",
"payum/payum-bundle": "^2.0"
},
1 ответ
Вы должны установить JMS, как:
composer require jms/payment-core-bundle
Спасибо
Это не из-за рассрочки платежа Payum, а из-за того, что вы удалили JMSPaymentBundle. Проблема возникает оттуда, есть тип доктрины: https://github.com/schmittjoh/JMSPaymentCoreBundle/blob/master/Entity/ExtendedDataType.php. Информация об этом типе хранится в вашей базе данных, и доктрина пытается найти такой тип в коде, но он больше не существует.
Решение: снова установите пакет jms, удалите связанные с ним таблицы и сгенерируйте миграцию (чтобы программа тоже корректно обновлялась). развернуть его в продукт. и только после этого вы можете удалить пакет оплаты jms.