diff options
author | Jeremy Benoist <jeremy.benoist@gmail.com> | 2019-08-08 15:19:53 +0200 |
---|---|---|
committer | Jeremy Benoist <jeremy.benoist@gmail.com> | 2019-08-08 16:03:20 +0200 |
commit | 1576905e0357ef96cd852ea3c1ff4216af195c34 (patch) | |
tree | b4d89e082942e4711b0e0aa1b02102ae3af21a3b /src | |
parent | 97c678a0b26d748f9829d732910d5c402c609dc2 (diff) | |
download | wallabag-1576905e0357ef96cd852ea3c1ff4216af195c34.tar.gz wallabag-1576905e0357ef96cd852ea3c1ff4216af195c34.tar.zst wallabag-1576905e0357ef96cd852ea3c1ff4216af195c34.zip |
Rename internal settings table
In fact it's not _just_ a rename.
We are now able to use our own entity with the CraueConfigBundle which allow us to enforce a custom length on string field and avoid error with utf8mb4 on MySQL.
To fix that issue before we were in need to fork CraueConfigBundle to hard apply these length changes.
The recent 2.3.0 release fix that issue. That's why we are in need to rename the table (getting rid of the bundle name from it)
Also updating deps:
- Updating symfony/polyfill-mbstring (v1.11.0 => v1.12.0)
- Updating symfony/polyfill-ctype (v1.11.0 => v1.12.0)
- Updating symfony/polyfill-php70 (v1.11.0 => v1.12.0)
- Updating symfony/polyfill-util (v1.11.0 => v1.12.0)
- Updating symfony/polyfill-php56 (v1.11.0 => v1.12.0)
- Updating symfony/polyfill-intl-icu (v1.11.0 => v1.12.0)
- Updating symfony/polyfill-apcu (v1.11.0 => v1.12.0)
- Updating j0k3r/graby-site-config (1.0.88 => 1.0.89)
- Updating php-http/message (1.7.2 => 1.8.0)
- Updating symfony/polyfill-php73 (v1.11.0 => v1.12.0)
- Updating symfony/http-client (v4.3.2 => v4.3.3)
- Updating symfony/polyfill-php72 (v1.11.0 => v1.12.0)
- Updating symfony/polyfill-intl-idn (v1.11.0 => v1.12.0)
- Updating symfony/mime (v4.3.2 => v4.3.3)
- Updating craue/config-bundle (dev-utf8mb4 46cfd37 => 2.3.0)
- Updating masterminds/html5 (2.6.0 => 2.7.0)
- Updating nette/di (v3.0.0 => v3.0.1)
- Updating symfony/polyfill-iconv (v1.11.0 => v1.12.0)
- Updating wallabag/php-mobi (1.0.1 => 1.1.0)
Diffstat (limited to 'src')
-rw-r--r-- | src/Wallabag/CoreBundle/Command/InstallCommand.php | 6 | ||||
-rw-r--r-- | src/Wallabag/CoreBundle/DataFixtures/InternalSettingFixtures.php (renamed from src/Wallabag/CoreBundle/DataFixtures/SettingFixtures.php) | 6 | ||||
-rw-r--r-- | src/Wallabag/CoreBundle/Entity/Config.php | 1 | ||||
-rw-r--r-- | src/Wallabag/CoreBundle/Entity/InternalSetting.php | 36 |
4 files changed, 42 insertions, 7 deletions
diff --git a/src/Wallabag/CoreBundle/Command/InstallCommand.php b/src/Wallabag/CoreBundle/Command/InstallCommand.php index 50e19f0c..f73e0696 100644 --- a/src/Wallabag/CoreBundle/Command/InstallCommand.php +++ b/src/Wallabag/CoreBundle/Command/InstallCommand.php | |||
@@ -2,7 +2,6 @@ | |||
2 | 2 | ||
3 | namespace Wallabag\CoreBundle\Command; | 3 | namespace Wallabag\CoreBundle\Command; |
4 | 4 | ||
5 | use Craue\ConfigBundle\Entity\Setting; | ||
6 | use FOS\UserBundle\Event\UserEvent; | 5 | use FOS\UserBundle\Event\UserEvent; |
7 | use FOS\UserBundle\FOSUserEvents; | 6 | use FOS\UserBundle\FOSUserEvents; |
8 | use Symfony\Bundle\FrameworkBundle\Command\ContainerAwareCommand; | 7 | use Symfony\Bundle\FrameworkBundle\Command\ContainerAwareCommand; |
@@ -13,6 +12,7 @@ use Symfony\Component\Console\Output\BufferedOutput; | |||
13 | use Symfony\Component\Console\Output\OutputInterface; | 12 | use Symfony\Component\Console\Output\OutputInterface; |
14 | use Symfony\Component\Console\Question\Question; | 13 | use Symfony\Component\Console\Question\Question; |
15 | use Symfony\Component\Console\Style\SymfonyStyle; | 14 | use Symfony\Component\Console\Style\SymfonyStyle; |
15 | use Wallabag\CoreBundle\Entity\InternalSetting; | ||
16 | 16 | ||
17 | class InstallCommand extends ContainerAwareCommand | 17 | class InstallCommand extends ContainerAwareCommand |
18 | { | 18 | { |
@@ -276,10 +276,10 @@ class InstallCommand extends ContainerAwareCommand | |||
276 | $em = $this->getContainer()->get('doctrine.orm.entity_manager'); | 276 | $em = $this->getContainer()->get('doctrine.orm.entity_manager'); |
277 | 277 | ||
278 | // cleanup before insert new stuff | 278 | // cleanup before insert new stuff |
279 | $em->createQuery('DELETE FROM CraueConfigBundle:Setting')->execute(); | 279 | $em->createQuery('DELETE FROM WallabagCoreBundle:InternalSetting')->execute(); |
280 | 280 | ||
281 | foreach ($this->getContainer()->getParameter('wallabag_core.default_internal_settings') as $setting) { | 281 | foreach ($this->getContainer()->getParameter('wallabag_core.default_internal_settings') as $setting) { |
282 | $newSetting = new Setting(); | 282 | $newSetting = new InternalSetting(); |
283 | $newSetting->setName($setting['name']); | 283 | $newSetting->setName($setting['name']); |
284 | $newSetting->setValue($setting['value']); | 284 | $newSetting->setValue($setting['value']); |
285 | $newSetting->setSection($setting['section']); | 285 | $newSetting->setSection($setting['section']); |
diff --git a/src/Wallabag/CoreBundle/DataFixtures/SettingFixtures.php b/src/Wallabag/CoreBundle/DataFixtures/InternalSettingFixtures.php index cc7d1f59..b052d1d5 100644 --- a/src/Wallabag/CoreBundle/DataFixtures/SettingFixtures.php +++ b/src/Wallabag/CoreBundle/DataFixtures/InternalSettingFixtures.php | |||
@@ -2,13 +2,13 @@ | |||
2 | 2 | ||
3 | namespace Wallabag\CoreBundle\DataFixtures; | 3 | namespace Wallabag\CoreBundle\DataFixtures; |
4 | 4 | ||
5 | use Craue\ConfigBundle\Entity\Setting; | ||
6 | use Doctrine\Bundle\FixturesBundle\Fixture; | 5 | use Doctrine\Bundle\FixturesBundle\Fixture; |
7 | use Doctrine\Common\Persistence\ObjectManager; | 6 | use Doctrine\Common\Persistence\ObjectManager; |
8 | use Symfony\Component\DependencyInjection\ContainerAwareInterface; | 7 | use Symfony\Component\DependencyInjection\ContainerAwareInterface; |
9 | use Symfony\Component\DependencyInjection\ContainerInterface; | 8 | use Symfony\Component\DependencyInjection\ContainerInterface; |
9 | use Wallabag\CoreBundle\Entity\InternalSetting; | ||
10 | 10 | ||
11 | class SettingFixtures extends Fixture implements ContainerAwareInterface | 11 | class InternalSettingFixtures extends Fixture implements ContainerAwareInterface |
12 | { | 12 | { |
13 | /** | 13 | /** |
14 | * @var ContainerInterface | 14 | * @var ContainerInterface |
@@ -26,7 +26,7 @@ class SettingFixtures extends Fixture implements ContainerAwareInterface | |||
26 | public function load(ObjectManager $manager) | 26 | public function load(ObjectManager $manager) |
27 | { | 27 | { |
28 | foreach ($this->container->getParameter('wallabag_core.default_internal_settings') as $setting) { | 28 | foreach ($this->container->getParameter('wallabag_core.default_internal_settings') as $setting) { |
29 | $newSetting = new Setting(); | 29 | $newSetting = new InternalSetting(); |
30 | $newSetting->setName($setting['name']); | 30 | $newSetting->setName($setting['name']); |
31 | $newSetting->setValue($setting['value']); | 31 | $newSetting->setValue($setting['value']); |
32 | $newSetting->setSection($setting['section']); | 32 | $newSetting->setSection($setting['section']); |
diff --git a/src/Wallabag/CoreBundle/Entity/Config.php b/src/Wallabag/CoreBundle/Entity/Config.php index 5181d91d..35be9655 100644 --- a/src/Wallabag/CoreBundle/Entity/Config.php +++ b/src/Wallabag/CoreBundle/Entity/Config.php | |||
@@ -17,7 +17,6 @@ use Wallabag\UserBundle\Entity\User; | |||
17 | * @ORM\Index(name="config_feed_token", columns={"feed_token"}, options={"lengths"={255}}), | 17 | * @ORM\Index(name="config_feed_token", columns={"feed_token"}, options={"lengths"={255}}), |
18 | * } | 18 | * } |
19 | * ) | 19 | * ) |
20 | * @ORM\Entity | ||
21 | */ | 20 | */ |
22 | class Config | 21 | class Config |
23 | { | 22 | { |
diff --git a/src/Wallabag/CoreBundle/Entity/InternalSetting.php b/src/Wallabag/CoreBundle/Entity/InternalSetting.php new file mode 100644 index 00000000..df8bd3be --- /dev/null +++ b/src/Wallabag/CoreBundle/Entity/InternalSetting.php | |||
@@ -0,0 +1,36 @@ | |||
1 | <?php | ||
2 | |||
3 | namespace Wallabag\CoreBundle\Entity; | ||
4 | |||
5 | use Craue\ConfigBundle\Entity\BaseSetting; | ||
6 | use Doctrine\ORM\Mapping as ORM; | ||
7 | |||
8 | /** | ||
9 | * InternalSetting. | ||
10 | * | ||
11 | * Re-define setting so we can override length attribute to fix utf8mb4 issue. | ||
12 | * | ||
13 | * @ORM\Entity(repositoryClass="Craue\ConfigBundle\Repository\SettingRepository") | ||
14 | * @ORM\Table(name="`internal_setting`") | ||
15 | * @ORM\AttributeOverrides({ | ||
16 | * @ORM\AttributeOverride(name="name", | ||
17 | * column=@ORM\Column( | ||
18 | * length = 191 | ||
19 | * ) | ||
20 | * ), | ||
21 | * @ORM\AttributeOverride(name="section", | ||
22 | * column=@ORM\Column( | ||
23 | * length = 191 | ||
24 | * ) | ||
25 | * ) | ||
26 | * }) | ||
27 | */ | ||
28 | class InternalSetting extends BaseSetting | ||
29 | { | ||
30 | /** | ||
31 | * @var string|null | ||
32 | * | ||
33 | * @ORM\Column(name="value", type="string", nullable=true, length=191) | ||
34 | */ | ||
35 | protected $value; | ||
36 | } | ||