Skip to content

Commit 247f793

Browse files
committed
MAGETWO-67037: core_config_data table is not populated correctly when upgrading from 2.1 to 2.2
1 parent 6ba5991 commit 247f793

File tree

3 files changed

+104
-22
lines changed

3 files changed

+104
-22
lines changed

app/code/Magento/Directory/Setup/InstallData.php

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -809,27 +809,6 @@ public function install(ModuleDataSetupInterface $setup, ModuleContextInterface
809809
['BR', 'SE', 'Sergipe'],
810810
['BR', 'TO', 'Tocantins'],
811811
['BR', 'DF', 'Distrito Federal'],
812-
['HR', 'HR-01', 'Zagrebačka županija'],
813-
['HR', 'HR-02', 'Krapinsko-zagorska županija'],
814-
['HR', 'HR-03', 'Sisačko-moslavačka županija'],
815-
['HR', 'HR-04', 'Karlovačka županija'],
816-
['HR', 'HR-05', 'Varaždinska županija'],
817-
['HR', 'HR-06', 'Koprivničko-križevačka županija'],
818-
['HR', 'HR-07', 'Bjelovarsko-bilogorska županija'],
819-
['HR', 'HR-08', 'Primorsko-goranska županija'],
820-
['HR', 'HR-09', 'Ličko-senjska županija'],
821-
['HR', 'HR-10', 'Virovitičko-podravska županija'],
822-
['HR', 'HR-11', 'Požeško-slavonska županija'],
823-
['HR', 'HR-12', 'Brodsko-posavska županija'],
824-
['HR', 'HR-13', 'Zadarska županija'],
825-
['HR', 'HR-14', 'Osječko-baranjska županija'],
826-
['HR', 'HR-15', 'Šibensko-kninska županija'],
827-
['HR', 'HR-16', 'Vukovarsko-srijemska županija'],
828-
['HR', 'HR-17', 'Splitsko-dalmatinska županija'],
829-
['HR', 'HR-18', 'Istarska županija'],
830-
['HR', 'HR-19', 'Dubrovačko-neretvanska županija'],
831-
['HR', 'HR-20', 'Međimurska županija'],
832-
['HR', 'HR-21', 'Grad Zagreb']
833812
];
834813

835814
foreach ($data as $row) {
Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
<?php
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
7+
namespace Magento\Directory\Setup;
8+
9+
use Magento\Framework\Setup\ModuleContextInterface;
10+
use Magento\Framework\Setup\ModuleDataSetupInterface;
11+
use Magento\Framework\Setup\UpgradeDataInterface;
12+
use Magento\Directory\Helper\Data;
13+
14+
class UpgradeData implements UpgradeDataInterface
15+
{
16+
/**
17+
* Directory data.
18+
*
19+
* @var Data
20+
*/
21+
private $directoryData;
22+
23+
/**
24+
* @param Data $directoryData
25+
*/
26+
public function __construct(Data $directoryData)
27+
{
28+
$this->directoryData = $directoryData;
29+
}
30+
31+
/**
32+
* Upgrades data for Directry module.
33+
*
34+
* @param ModuleDataSetupInterface $setup
35+
* @param ModuleContextInterface $context
36+
* @return void
37+
*/
38+
public function upgrade(ModuleDataSetupInterface $setup, ModuleContextInterface $context)
39+
{
40+
if (version_compare($context->getVersion(), '2.0.1', '<')) {
41+
$this->addCroatia($setup);
42+
}
43+
}
44+
45+
/**
46+
* Add Croatia and it's states to appropriate tables.
47+
*
48+
* @param ModuleDataSetupInterface $setup
49+
* @return void
50+
*/
51+
private function addCroatia($setup)
52+
{
53+
/**
54+
* Fill table directory/country_region
55+
* Fill table directory/country_region_name for en_US locale
56+
*/
57+
$data = [
58+
['HR', 'HR-01', 'Zagrebačka županija'],
59+
['HR', 'HR-02', 'Krapinsko-zagorska županija'],
60+
['HR', 'HR-03', 'Sisačko-moslavačka županija'],
61+
['HR', 'HR-04', 'Karlovačka županija'],
62+
['HR', 'HR-05', 'Varaždinska županija'],
63+
['HR', 'HR-06', 'Koprivničko-križevačka županija'],
64+
['HR', 'HR-07', 'Bjelovarsko-bilogorska županija'],
65+
['HR', 'HR-08', 'Primorsko-goranska županija'],
66+
['HR', 'HR-09', 'Ličko-senjska županija'],
67+
['HR', 'HR-10', 'Virovitičko-podravska županija'],
68+
['HR', 'HR-11', 'Požeško-slavonska županija'],
69+
['HR', 'HR-12', 'Brodsko-posavska županija'],
70+
['HR', 'HR-13', 'Zadarska županija'],
71+
['HR', 'HR-14', 'Osječko-baranjska županija'],
72+
['HR', 'HR-15', 'Šibensko-kninska županija'],
73+
['HR', 'HR-16', 'Vukovarsko-srijemska županija'],
74+
['HR', 'HR-17', 'Splitsko-dalmatinska županija'],
75+
['HR', 'HR-18', 'Istarska županija'],
76+
['HR', 'HR-19', 'Dubrovačko-neretvanska županija'],
77+
['HR', 'HR-20', 'Međimurska županija'],
78+
['HR', 'HR-21', 'Grad Zagreb']
79+
];
80+
foreach ($data as $row) {
81+
$bind = ['country_id' => $row[0], 'code' => $row[1], 'default_name' => $row[2]];
82+
$setup->getConnection()->insert($setup->getTable('directory_country_region'), $bind);
83+
$regionId = $setup->getConnection()->lastInsertId($setup->getTable('directory_country_region'));
84+
$bind = ['locale' => 'en_US', 'region_id' => $regionId, 'name' => $row[2]];
85+
$setup->getConnection()->insert($setup->getTable('directory_country_region_name'), $bind);
86+
}
87+
/**
88+
* Upgrade core_config_data general/region/state_required field.
89+
*/
90+
$countries = $this->directoryData->getCountryCollection()->getCountriesWithRequiredStates();
91+
$setup->getConnection()->update(
92+
$setup->getTable('core_config_data'),
93+
[
94+
'value' => implode(',', array_keys($countries))
95+
],
96+
[
97+
'scope="default"',
98+
'scope_id=0',
99+
'path=?' => Data::XML_PATH_STATES_REQUIRED
100+
]
101+
);
102+
}
103+
}

app/code/Magento/Directory/etc/module.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
*/
77
-->
88
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
9-
<module name="Magento_Directory" setup_version="2.0.0">
9+
<module name="Magento_Directory" setup_version="2.0.1">
1010
<sequence>
1111
<module name="Magento_Store"/>
1212
</sequence>

0 commit comments

Comments
 (0)