Last active
February 2, 2021 12:27
-
-
Save denchev/3bdfd7bf1ed45d8f1d44387c4211d84b to your computer and use it in GitHub Desktop.
Export all tables but only essential data from Magento 2
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
### | |
### Modify this variable only. It should point to your app/etc/evn.php file. | |
ENV_FILE="/app/p2f3xbqpgpxow/app/etc/env.php" | |
### | |
### | |
extract_from_env () { | |
dirty=$(grep -m 1 $1 $ENV_FILE) | |
clean=$(echo $dirty | grep -P "=> \'([^\']+)'" -o | sed -e "s/=> '//g" | sed -e "s/'//g") | |
echo $clean | |
} | |
HOST='127.0.0.1' | |
USERNAME=$(extract_from_env username) | |
PASSWORD=$(extract_from_env password) | |
DATABASE=$(extract_from_env dbname) | |
DATABASE_DUMP_NAME='dump.sql' | |
cmd_mysqldump_data="mysqldump -h $HOST -u $USERNAME -p$PASSWORD --no-create-info --skip-triggers "; | |
skip_default_data () { | |
for i in cron_schedule synolia_maxmind_cache synolia_sync_status synolia_sync_log search_query sendfriend_log admin_passwords admin_system_messages admin_user admin_user_session adminnotification_inbox import_history adyen_invoice adyen_notification adyen_order_payment bazaarvoice_product_cl | |
do | |
cmd_mysqldump_data="$cmd_mysqldump_data --ignore-table=$DATABASE.$i" | |
done | |
} | |
skip_customers_data () { | |
for i in customer_address_entity customer_address_entity_datetime customer_address_entity_decimal customer_address_entity_int customer_address_entity_text customer_address_entity_varchar customer_visitor customer_entity customer_entity_datetime customer_entity_decimal customer_entity_int customer_entity_text customer_entity_varchar wishlist wishlist_item wishlist_item_option report_viewed_product_index report_viewed_product_aggregated_yearly report_viewed_product_aggregated_daily report_viewed_product_aggregated_monthly | |
do | |
cmd_mysqldump_data="$cmd_mysqldump_data --ignore-table=$DATABASE.$i" | |
done | |
} | |
skip_sales_data () { | |
for i in report_compared_product_index report_event sales_order sales_order_address sales_order_grid sales_order_item sales_order_payment sales_order_status_history sales_order_tax sales_order_tax_item sales_payment_transaction quote qoute_address quote_address_item quote_id_mask quote_item quote_item_option qoute_payment quote_shipping_rate tax_order_aggregated_created tax_order_aggregated_updated sales_creditmemo sales_creditmemo_comment sales_creditmemo_grid sales_creditmemo_item sales_invoice sales_invoice_aggregated sales_invoice_aggregated_order sales_invoice_comment sales_invoice_grid sales_invoice_item sales_shipment sales_shipment_comment sales_shipment_grid sales_shipment_item sales_shipment_track sales_shipping_aggregated sales_shipping_aggregated_order salesrule_coupon_aggregated salesrule_coupon_aggregated_updated | |
do | |
cmd_mysqldump_data="$cmd_mysqldump_data --ignore-table=$DATABASE.$i" | |
done | |
} | |
skip_catalog_data () { | |
for i in catalog_category_entity catalog_category_entity_datetime catalog_category_entity_decimal catalog_category_entity_int catalog_category_entity_text catalog_category_entity_varchar catalog_category_product catalog_category_product_index sequence_catalog_category catalog_product_bundle_option catalog_product_bundle_option_value catalog_product_bundle_selection catalog_product_entity_datetime catalog_product_entity_decimal catalog_product_entity_gallery catalog_product_entity_int catalog_product_entity_media_gallery catalog_product_entity_media_gallery_value catalog_product_entity_text catalog_product_entity_tier_price catalog_product_entity_varchar catalog_product_link catalog_product_link_attribute_decimal catalog_product_link_attribute_int catalog_product_link_attribute_varchar catalog_product_option catalog_product_option_price catalog_product_option_title catalog_product_option_type_price catalog_product_option_type_title catalog_product_option_type_value catalog_product_super_attribute_label catalog_product_super_attribute catalog_product_super_link catalog_product_website catalog_category_product_index catalog_category_product cataloginventory_stock_item cataloginventory_stock_status catalog_product_entity catalog_product_index_price catalog_product_index_eav | |
do | |
cmd_mysqldump_data="$cmd_mysqldump_data --ignore-table=$DATABASE.$i" | |
done | |
} | |
skip_reviews_data () { | |
for i in rating_option_vote rating_option_vote_aggregated review review_detail review_entity_summary review_store | |
do | |
cmd_mysqldump_data="$cmd_mysqldump_data --ignore-table=$DATABASE.$i" | |
done | |
} | |
skip_default_data | |
skip_reviews_data | |
skip_catalog_data | |
#skip_sales_data | |
skip_customers_data | |
cmd_mysqldump_data="$cmd_mysqldump_data $DATABASE >> $DATABASE_DUMP_NAME" | |
echo "# Export schema only" | |
mysqldump -h $HOST -u $USERNAME -p$PASSWORD --no-data $DATABASE > $DATABASE_DUMP_NAME; | |
echo "# Export data only" | |
eval $cmd_mysqldump_data | |
echo "# Compressing" | |
gzip -f $DATABASE_DUMP_NAME | |
echo "# Done" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment