Looking for an answer? This is what I did and it worked. If it is correct or that its just worked in my case...I am not sure but for me after rigorous testing it did. First I will explain my reasoning and then the solution.
My idea was that you could say that in general the Drupal database consists out of two ingredients
- nodes and related content (pages, products etc)
- configuration settings (block settings, theme settings, boost, cache etc)
Since in my case, my online shop is generating mainly shopping carts, orders, users during the time that I spend developing on another server. So as soon as my development cycle is over I have:
1 An production environment with NEW:nodes and related content (compared to the development environment on which I use a production snapshot taken days or weeks ago) OLD:configuration settings (compared to the development environment)
2 An development environment with NEW:configuration settings and OLD: nodes and related content
In my case all the changes where strictly related to the commerce part of my site. So products, commerce modules, checkout settings etc. Therefore, I copied all the tables in my live database that I also use in my development environment to the development database.
The end result was that my database had the NEW nodes and content from the live database and the NEW configuration settings of the development database.
It worked out very well. The only drawback was that because I removed products I ran into entity errors on the order page. When I selected cart or checkout as a status the error occurred. Not on completed and pending orders. In my case, all cart and checkout orders where from anonymous visiters so I decided to delete those orders directly from the database.
If have used the following field when I copied the nodes and content from one database to another:
`commerce_calculated_price`;
`commerce_customer_profile`;
`commerce_customer_profile_revision`;
`commerce_line_item`;
`commerce_order`;
`commerce_order_revision`;
`commerce_payment_transaction`;
`commerce_payment_transaction_revision`;
`commerce_paypal_ipn`;
`commerce_tax_rate`;
`commerce_tax_type`;
`field_data_commerce_customer_address`;
`field_data_commerce_customer_billing`;
`field_data_commerce_display_path`;
`field_data_commerce_line_items`;
`field_data_commerce_order_total`;
`field_data_commerce_parent_line_item`;
`field_data_commerce_price`;
`field_data_commerce_price_aud`;
`field_data_commerce_price_cny`;
`field_data_commerce_price_eur`;
`field_data_commerce_price_gbp`;
`field_data_commerce_price_inr`;
`field_data_commerce_price_jpy`;
`field_data_commerce_price_rub`;
`field_data_commerce_price_usd`;
`field_data_commerce_total`;
`field_data_commerce_unit_price`;
`field_revision_commerce_customer_address`;
`field_revision_commerce_customer_billing`;
`field_revision_commerce_display_path`;
`field_revision_commerce_line_items`;
`field_revision_commerce_order_total`;
`field_revision_commerce_parent_line_item`;
`field_revision_commerce_price`;
`field_revision_commerce_price_aud`;
`field_revision_commerce_price_cny`;
`field_revision_commerce_price_eur`;
`field_revision_commerce_price_gbp`;
`field_revision_commerce_price_inr`;
`field_revision_commerce_price_jpy`;
`field_revision_commerce_price_rub`;
`field_revision_commerce_price_usd`;
`field_revision_commerce_total`;
`field_revision_commerce_unit_price`;
`users`;
To remove the cart and checkout orders I used:
DELETE FROM `commerce_order` WHERE `status` IN ('checkout_checkout','checkout_payment','checkout_review','cart')