在Payum设置之后,当我执行php app/console doctrine:schema:update --force时,我会得到以下异常:
C:\wamp\www\shop_@stable>php应用程序/控制台原则:模式:更新-强制 主义DBAL\DBALException 未知列类型"extended_payment_data“请求。使用ha注册到\ Doctrine \DBAL\ type \Type::addType()的任何Doctrine类型。你可以得到一个所有的清单 具有\Doctrine\DBAL\Type\Type::getTypesMap()的已知类型。如果发生此错误,请执行以下操作 数据库内省,那么您可能忘记注册所有的数据库类型。 一种教义式的。使用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"
},发布于 2019-04-10 07:20:26
您必须安装jms,如下所示:
composer require jms/payment-core-bundle谢谢
发布于 2016-03-28 06:35:01
这不是因为Payum的分期付款,而是因为您删除了JMSPaymentBundle。问题来自于此,有一种学说类型:https://github.com/schmittjoh/JMSPaymentCoreBundle/blob/master/Entity/ExtendedDataType.php。存储在数据库中的关于这种类型的信息,并且原则试图在代码中找到这种类型,但是它已经不存在了。
解决方案:再次安装jms包,删除与其相关的表,并生成迁移(因此prod也正确地更新了)。用它来刺激。只有在此之后,您才能删除jms支付包。
https://stackoverflow.com/questions/36252095
复制相似问题