Commit Graph

463 Commits

Author SHA1 Message Date
Néstor Soriano e9d692f455 Apply suggestions from code review
Mostly adding "since 4.4.0" annotations and updating
db update functions from 4.2 to 4.4.

Co-authored-by: Claudio Sanches <contato@claudiosanches.com>
2020-07-28 09:01:55 +02:00
Nestor Soriano 9c6c0d73d8 Record attribute terms for product variations in wp_term_relationships.
Product attributes are currently recorded as terms in
wp_term_relationships (product attributes are actually taxonomies).
In the case of variable products this is true for the main product,
but not for the variations. The attributes used to define variations
are stored as post meta, but nothing is recorded in the term
relationships table.

This is a problem when using the layered nav filtering plugin,
since the attribute counters displayed are calculated based solely
on the contents of the term relationships table. Adding meta queries
would be really messy (especially when the widget is configured
with AND operator) and would probably also hurt performance.

This commit adds a change to store the attributes for variations
as term relationships, additionally to storing them as post meta.
Terms are stored on variation creation, and updated/deleted together
with the variation as appropriate. "Any" variations (stored in meta
as empty values) are not stored as terms.

Additionally, a database upgrade is included in order to backfill
terms for already existing products.
2020-07-28 08:55:55 +02:00
vedanshujain 4500e86198 Shorten class and method names to reduce redundancy in naming. 2020-07-15 15:20:18 +05:30
vedanshujain 1e68ce5dc9 Move function to src for better code architecture 2020-07-14 23:31:56 +05:30
vedanshujain 50b08a75ab Show community forum link if wccom is not connected 2020-07-02 16:28:33 +05:30
Peter Fabian c35c4f1f08
Merge pull request #26395 from woocommerce/revert-26226-revert-25708-update/reserve-stock-for-checkout
Introduce a `reserved stock` class and database table to prevent race conditions during checkout
2020-06-16 11:38:10 +02:00
Paul Sealock c7ad889f93 Homescreen: add option and setting 2020-06-15 13:38:02 +12:00
vedanshujain 79e13edff0 This commit adds two changes for reserved stock functionality:
1. Use '0000-00-00 00:00:00' instead of CURRENT_TIMESTAMP as default value to support MySQL 5.6
2. Return early if DB version is less than 430 because then it would mean that required wc_reserved_stock table might not be present.
2020-06-05 19:20:06 +05:30
Vedanshu Jain b45373fe0c Revert "Revert "Introduce a `reserved stock` class and database table to prevent race conditions during checkout"" 2020-06-05 15:18:01 +05:30
vedanshujain e0de059f23 Use seperate db version to better track changes 2020-06-04 22:38:13 +05:30
vedanshujain 4fce106f14 Use `_` instead of `-` as per convention. 2020-06-04 20:33:38 +05:30
Claudio Sanches 6afbed0c14 Fixed coding standards 2020-06-01 23:55:17 -03:00
vedanshujain 440f40a976 Changed back method to private because we figured a workaround in earlier test 2020-05-26 23:59:28 +05:30
vedanshujain e89ee25f36 Better option names to properly describe their intention.
Additionally, allow an option in `verify_base_tables` to call `create_table` method. This will be useful if someone wants to fix the their database.
2020-05-26 23:26:45 +05:30
vedanshujain 418741a0b2 Add unit test for verify_base_tables function 2020-05-22 18:32:04 +05:30
vedanshujain fafa44bde0 Modified notice to also handle when REST API does not have verify tool. 2020-05-22 18:32:03 +05:30
vedanshujain 3acc03c804 Add `verify_base_db` method to check if all base tables are present.
Optionally, also adds a notice in case all db tables are not present. Returns list of tables.

Note that we only check missing tables and don't care about exact table structure because many time tables are modified by merchants to better suit their needs (indexes, collations etc).
2020-05-22 18:30:11 +05:30
Claudio Sanches dcabbcb964 Open file in binary mode 2020-05-06 23:25:33 -03:00
Claudio Sanches 39633855f3 Only fetch the uploads info and do not attempt to create the uploads directory 2020-05-06 23:21:31 -03:00
Claudio Sanches 7634f54235 Use "Options -Indexes" for redirect download method 2020-05-06 23:20:56 -03:00
Vedanshu Jain ee119e0a7e
Revert "Introduce a `reserved stock` class and database table to prevent race conditions during checkout" 2020-04-21 15:37:21 +05:30
Vedanshu Jain 3bf473517d
Merge pull request #25708 from woocommerce/update/reserve-stock-for-checkout
Introduce a `reserved stock` class and database table to prevent race conditions during checkout
2020-04-07 02:16:22 +05:30
Vedanshu Jain a8d60a8864
Merge pull request #25856 from woocommerce/fix-reset-action-scheduler-db-update-routine
Fix minor inconsistencies in the WC 4.0 database update routines
2020-04-06 18:07:39 +05:30
Mike Jolley 62e099bd84 Add table schema 2020-04-03 15:55:15 +01:00
Jeff Stieler 6a8d8b27d9
Fix missing notes table on 4.0.0 upgrade. (#25891)
* Don't attempt to create a WC-Admin note before the tables exist.
2020-03-13 12:20:41 -06:00
Rodrigo Primo f32c062739 The db update routine that updates the db version should be the last one
This commit simply changes the order of the database update callbacks
for WC 4.0 to make sure that wc_update_400_db_version is the last one.
2020-03-10 09:31:45 -03:00
Rodrigo Primo cd75870267 Add the wc_update_400_ prefix to db update routine
The db update routine that resets action scheduler migration status was
missing the wc_update_400_ prefix. Doing this for the sake of
consistency.
2020-03-10 09:27:30 -03:00
vedanshujain 4b3977868b Display only wc-admin notices when enabled to avoid duplicate notices 2020-03-05 16:53:10 +05:30
Peter Fabian 7fdee5b03e
Merge pull request #25707 from woocommerce/fix/as-460
Mark AS migration pending when updating WC to ensure migration happens.
2020-02-25 22:03:45 +01:00
Peter Fabian 63486a1cb0 Force the saving of notices for the 'install' notice to prevent performance problems for all notices, while also making it less prone to race conditions during the installation. 2020-02-25 15:00:37 +01:00
Peter Fabian 992c6538dc Force the saving of notices only for the 'update' notice to prevent performance problems. 2020-02-25 14:58:02 +01:00
Peter Fabian 7ec65a1b35 Added the WC Admin enabled db update notice. 2020-02-23 21:59:03 +01:00
vedanshujain 90ab985cfb Mark AS migration pending when updating WC to ensure migration happens.
Ideally https://github.com/woocommerce/action-scheduler/pull/470 should take care of this issue, but since we have AS 3.x in the wild without fix in the PR, this change is also necessary.
2020-02-19 18:19:11 +05:30
Peter Fabian 5fc2e8fba9 Only skip the store_notices during new install in AS. 2020-02-07 11:06:35 +01:00
Jeff Stieler 3cf9d76ed4 Fix wc_admin_daily event schedule persistence.
Avoid an option update race condition.
2020-02-04 16:04:27 -08:00
Christopher Allford 57734ca8ce Merge branch 'master' into refactor/add-jetpack-constants 2020-02-04 14:36:35 -08:00
Rohan V e2cb1dea73
Fix codestyle 2020-02-04 19:44:05 +05:30
Rohan Vakharia 4be33acd66
Merge branch 'master' into master 2020-02-04 19:23:22 +05:30
Peter Fabian 7a24aaecd5 Updated versions to 4.0. 2020-02-03 23:36:52 +01:00
Christopher Allford 6ad091a9b7 Changed all of the constant accesses into corresponding Automattic\Jetpack\Constants usages 2020-01-28 21:21:29 -08:00
Mike Jolley 2638879bdc Add columns to schema and update routine 2020-01-20 14:21:42 +00:00
Christopher Allford 2b503e0409 Changed the MaxMind database update process to move the existing archive instead of deleting it 2020-01-15 10:24:13 -08:00
Christopher Allford c34a5b6ffe Added an update task to increase the database version 2020-01-14 13:39:47 -08:00
Christopher Allford e851160927 Removed the erroneous space on the woocommerce_geoip_updater scheduled event 2020-01-14 13:20:41 -08:00
Christopher Allford b577b8a386 Changed the geoip update cron to run every 15 days to better comply with MaxMind's TOS 2020-01-13 17:02:41 -08:00
Christopher Allford ef0eccf0ac Added upgrade step for removing the legacy MaxMind database 2020-01-13 11:18:14 -08:00
Christopher Allford 02ee3f695e Moved the database update from the WC_Geolocation class to the MaxMind-specific integration 2020-01-09 23:22:42 -08:00
Rohan V 83c88e47a5
Add fix to increase column size for existing installations 2019-12-18 13:24:18 +05:30
Rohan V 2541786ef5
Increase field size for new installation 2019-12-18 12:49:32 +05:30
Claudio Sanches 08d301779b Set max index length for slug in tax class table 2019-07-09 17:59:16 -03:00