【发布时间】:2016-10-14 23:50:33
【问题描述】:
我已经更新到最新的 Magento2 版本。 2.1.0-rc2 从 Magento 的 GIT 分支安装:2.1
当我尝试从管理员创建发票时,它会抛出错误:
[2016-06-14 09:53:16] main.CRITICAL:异常 'PDOException' 带有消息 'SQLSTATE[42S22]:找不到列:1054 '字段列表'中的未知列 'base_grand_total' 在 /var /www/magento2/vendor/magento/zendframework1/library/Zend/Db/Statement/Pdo.php:228
下一个异常 'Zend_Db_Statement_Exception' 带有消息 'SQLSTATE[42S22]:找不到列:1054 '字段列表'中的未知列 'base_grand_total',查询是:INSERT INTO sales_invoice_grid (entity_id, increment_id, state,store_id,store_name,order_id,order_increment_id,order_created_at,customer_name,customer_email,customer_group_id,payment_method,store_currency_code,order_currency_code,base_currency_code , global_currency_code, billing_name, billing_address, shipping_address, shipping_information, subtotal, shipping_and_handling, base_grand_total, grand_total, updated_at, created_at, created_at, @987654346 entity_id, sales_invoice.increment_id AS increment_id, sales_invoice.state AS state, sales_invoice.store_id AS store_id, sales_order.store_name AS store_name, sales_invoice.order_id AS order_id, sales_order.increment_id AS @8754345 @, sales_order.created_at AS order_created_at, TRIM(CONCAT_WS(' ', IF(sales_order.customer_firstname '', sales_order.customer_firstname, NULL), IF(sales_order.@987654361 @ '', sales_order.customer_lastname, NULL) )) AS customer_name, sales_order.customer_email AS customer_email, sales_order.customer_group_id AS customer_group_id, sales_order_payment.method AS payment_method, sales_invoice.store_currency_code AS store_currency_code, sales_invoice.order_currency_code AS @9876_54366 AS base_currency_code, sales_invoice.global_currency_code AS global_currency_code, TRIM(CONCAT_WS(' ', IF(sales_billing_address.firstname '', sales_billing_address.firstname, NULL), IF(sales_billing_address .lastname '', sales_billing_address.lastname, NULL))) AS billing_name, TRIM(CONCAT_WS(' ', IF(sales_billing_address.street '', sales_billing_address .street, NULL), IF(sales_billing_address.city '', sales_billing_address.city, NULL), IF(sales_billing_address.region '', sales_billing_address .region, NULL), IF(sales_billing_address.postcode '', sales_billing_address.postcode, NULL))) AS billing_address, TRIM(CONCAT_WS(' ', IF(@987654398 @.street '', sales_shipping_address.street, NULL), IF(sales_shipping_address.city '', sales_shipping_address.city, NULL), IF(@987654406 @.region '', sales_shipping_address.region, NULL), IF(sales_shipping_address.postcode '', sales_shipping_address.postcode, NULL))) AS shipping_address, sales_order.shipping_description AS shipping_information, sales_order.base_subtotal AS subtotal, sales_order.base_shipping_amount AS shipping_and_handling, sales_invoice.base_grand_total AS base_grand_total, sales_invoice.grand_total AS grand_total, sales_invoice.created_at AS @987654444 销售987654421@ FROM sales_invoice
左加入 sales_order on sales_invoice.order_id = sales_order.entity_id
左加入 sales_order_address AS sales_shipping_address on sales_invoice.shipping_address_id = sales_shipping_address.entity_id
左加入 sales_order_address AS sales_billing_address on sales_invoice.billing_address_id = sales_billing_address.entity_id
左连接 sales_order_payment on sales_invoice.order_id = sales_order_payment.parent_id WHERE (sales_invoice.entity_id = '8') ON DUPLICATE KEY UPDATE entity_id = VALUES(entity_id), increment_id = VALUES(increment_id), @ 987654433@ = 值(state),store_id = 值(store_id),store_name = 值(store_name),order_id = 值(order_id),@UEVAL(@56) 987654442@), order_created_at = VALUES(order_created_at), customer_name = VALUES(customer_name), customer_email = VALUES(customer_email), customer_group_id = VALUES(@987654), @987654), @ = 值(payment_method),store_currency_code = 值(store_currency_code),order_currency_code = 值(order_currency_code),base_currency_code = 值(base_currency_code),global_currency_code = 值(store_currency_code) @), billing_name = 值(billing_name), billing_address = 值(billing_address), shipping_address = 值(shipping_address), shipping_information = 值(subtotal), @987 = 值(subtotal),shipping_and_handling = 值(shipping_and_handling),base_grand_total = 值(base_grand_total),grand_total = 值(grand_total),created_at = 值ES(created_at), updated_at = VALUES(updated_at)' 在 /var/www/magento2/vendor/magento/zendframework1/library/Zend/Db/Statement/Pdo.php:235
【问题讨论】:
-
运行此 SQL 后:ALTER TABLE
sales_invoice_gridADDbase_grand_totalDECIMAL(12, 4) NOT NULL AFTERgrand_total; 它有效,但这是正确的方法解决这个问题? -
我今天从 2.0.1 升级后遇到了同样的问题,这也为我解决了。但是,这是在下订单时,而不是在手动创建发票时。在上面的 SQL 命令命令之后可能是地方,但我现在严重怀疑数据库的完整性。