Country field in the ec_address db table is expecting an integer - not a 2 character string.
| Comment | File | Size | Author |
|---|---|---|---|
| #14 | store.address.mysql.patch | 406 bytes | lucidcarbon |
| #12 | ec46-txncountry-fix_0.patch | 1.17 KB | syllance |
| #11 | ec-sql-txn-country-fix_0.patch | 975 bytes | syllance |
| #9 | ec-mysql-address-fix_0.patch | 416 bytes | syllance |
| addressmysql.diff | 407 bytes | budda |
Comments
Comment #1
matt westgate commentedPatch applied. Thanks!
Comment #2
(not verified) commentedComment #3
(not verified) commentedComment #4
(not verified) commentedComment #5
Méléis commentedComment #6
(not verified) commentedComment #7
(not verified) commentedComment #8
(not verified) commentedComment #9
syllance commentedsorry for reopening this issue, but i think the patch should also be applied to ecommerce.mysql, as this is the main file used to create the database structure if we follow the README file, and it includes the ec_address table definition.
please find attached the same patch as above, applied to ecommerce.mysql.
note that i was unable to get the updated address.mysql with my cvs updates, so unless i'm mistaken (which sounds very much possible) previous patch did not make it to cvs.
thanks
Comment #10
matt westgate commentedCommitted. Thanks!
Comment #11
syllance commentedwell, sorry to re-open this once again. i should have look around better. the issue also impact the ec_transaction and its billing_country/shipping_country fields, which are still int(11).
you'll find attached the patch for ecommerce.mysql to convert ec_transaction fields to varchar(2) as done for address table in the previous patches. that should fix HEAD.
i've check for the issue on 4.6, and it's there too, being the reason for strange 'Please Choose ...' displays instead of country name. i'll add 4.6 patches to fix this issue, and it should hopefully be fixed.
thanks
Comment #12
syllance commentedplease find attached a patch to fix this issue on 4.6. it patches store/store.mysql to modify ec_transaction fields to varchar.
the first patch for address.mysql apply on 4.6. so using the very first patch and this one fixes the int/string country issue for 4.6, and the 2 previous ones fixes it for HEAD.
sorry for the patch-bombing :) i'll be more careful next time and provide full patch in first place.
Comment #13
matt westgate commentedApplied the updates to both 4.6 and HEAD. We should be able to close this one for good now.
Comment #14
lucidcarbon commentedAnd it gets opened yet again...
I believe store.mysql in the 4.6.0 version of the ec module package is still out of date (i.e. it's int(11) instead of varchar(2)).
The addres.mysql itself is correct, but I guess this store.mysql file is supposed to save the user the trouble of running the .mysql files for each ec module.
Anyhow, I _think_ the attached file is a patch for this problem. I'm frankly new to this whole diff/patch thing.
I hope this helps.
Comment #15
syllance commentedguilty your honor. forgot ec_address entry in store.mysql on my 4.6 patch. only ec_transaction were fixed, while ec_address was still in int(11) ... making things too fast often means making only the half of them :)
your patch works fine and applies in the store directory (btw, is there any coding rules on this ? should we make patches in respective directory of modified files, or from the module root directory ?).
a quick find/grep on mysql files for 4.6 shows wrong country fields in payment.mysql, which is not used as tables are defined in store.mysql. same for head, file address.mysql and payment.mysql still contains wrong fields, but tables should be loaded from ecommerce.mysql. may be these files could be removed if they're unused. if not, then we're ready for another patch in this uncloseable issue :)
Comment #16
gordon commentedI am pretty sure that this is fixed.
Comment #17
(not verified) commented