migrations/Version20220118121232.php line 1

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace DoctrineMigrations;
  4. use Doctrine\DBAL\Schema\Schema;
  5. use Doctrine\Migrations\AbstractMigration;
  6. /**
  7.  * Auto-generated Migration: Please modify to your needs!
  8.  */
  9. final class Version20220118121232 extends AbstractMigration
  10. {
  11.     public function getDescription() : string
  12.     {
  13.         return '';
  14.     }
  15.     public function up(Schema $schema) : void
  16.     {
  17.         $this->addSql("
  18.         INSERT INTO `std_blocks` (`created_by`, `updated_by`, `machine_name`, `is_active`, `created_date`, `updated_date`, `name`, `settings`) 
  19.         VALUES (1, 1, 'B31_notificationsbar', 1, now(), now(), 'Notifications Bar', '{\"webpackEntries\": [\"B31_notificationsbar\", \"slick-carousel\"]}');
  20.         ");
  21.         //Settings
  22.          $this->addSql("
  23.          SET @block_id=(SELECT id FROM std_blocks WHERE machine_name='B31_notificationsbar');    
  24.              INSERT INTO `std_blocks_settings` (`machine_name`, `block_id`, `created_by`, `updated_by`, `name`, `setting_type`, `is_active`, `created_date`, `updated_date`, `order_value`, `settings`) VALUES 
  25.              ('disabled_block', @block_id, 1, 1, 'Disabled block', 'CHECKBOX', 1, now(), now(), -1, NULL),
  26.              ('separator_styles', @block_id, '1', '1', 'Styles', 'SEPARATOR', '1', now(), now(), '1', NULL),
  27.              ('extra_block_id', @block_id, '1', '1', 'Block ID', 'INPUT', '1', now(), now(), '2', NULL),
  28.              ('extra_class', @block_id, '1', '1', 'Extra Class', 'INPUT', '1', now(), now(), '3', NULL),
  29.              ('separator_spacings', @block_id, '1', '1', 'Spacings', 'SEPARATOR', '1', now(), now(), '4', NULL),
  30.              ('margin', @block_id, '1', '1', 'Margin [0px 0px 0px 0px]', 'INPUT', '1', now(), now(), '5', NULL),
  31.              ('padding', @block_id, '1', '1', 'Padding [0px 0px 0px 0px]', 'INPUT', '1', now(), now(), '6', NULL),
  32.              ('container', @block_id, '1', '1', 'Inside Container', 'CHECKBOX', '1', now(), now(), '7', NULL),
  33.              ('bgcolor', @block_id, '1', '1', 'Background color', 'COLORPICKER', '1', now(), now(), '8', NULL),
  34.              ('textcolor', @block_id, '1', '1', 'Text color', 'COLORPICKER', '1', now(), now(), '9', NULL);
  35.         ");
  36.         //Components
  37.         $this->addSql("
  38.         SET @block_id=(SELECT id FROM std_blocks WHERE machine_name='B31_notificationsbar');
  39.         INSERT INTO `std_blocks_components` (`machine_name`, `block_id`, `created_by`, `updated_by`, `component_type`, `settings`, `order_value`, `created_date`, `updated_date`, `name`, `is_repeatable`) VALUES 
  40.         ('text', @block_id, '1', '1', 'INPUT', NULL, '3', now(), now(), 'Text', '1'),
  41.         ('label_url', @block_id, '1', '1', 'INPUT', NULL, '4', now(), now(), 'Label', '1'),
  42.         ('url', @block_id, '1', '1', 'INPUT', NULL, '5', now(), now(), 'URL', '1'),
  43.         ('target', @block_id, 1, 1, 'COMBO', '{\"data\": [{\"Self\": \"_self\"}, {\"New Page\": \"_blank\"}], \"type\": \"static\", \"default\": \"_self\"}', 10, now(), now(), 'Target', '1');
  44.         ");
  45.        
  46.                                                                    
  47.         $this->addSql("
  48.         SET @id_ct_system=(SELECT id FROM std_content_types WHERE machine_name='system');
  49.         INSERT INTO `std_pages` (`template_id`,`created_by`,`updated_by`,`content_type`,`is_active`,`created_date`,`updated_date`,`order_value`,`publish_date`,`expire_date`,`name`,`layout`) VALUES 
  50.         (NULL, 1, 1, @id_ct_system, 1, now(), now(), NULL, now(), NULL,'Barra de notificações', NULL);
  51.         
  52.         SET @id_page_barra_notificacoes = LAST_INSERT_ID();     
  53.         INSERT INTO `std_pages_content` (`page_id`, `language_code`, `created_by`, `updated_by`, `is_active`, `created_date`, `updated_date`, `title`, `url`, `canonical_url`, `content`) VALUES 
  54.         (@id_page_barra_notificacoes, 'pt', 1, 1, 1, now(), now(), 'Barra de notificações', 'barra-de-notificacoes', '/pt/barra-de-notificacoes', '{\"fields\": {\"1\": {\"skin\": \"\", \"block\": \"B31_notificationsbar\", \"isMaster\": 0, \"settings\": {\"margin\": \"\", \"bgcolor\": \"rgb(52, 58, 64)\", \"padding\": \"\", \"container\": \"0\", \"textcolor\": \"rgb(255,255,255)\", \"expire_date\": \"\", \"extra_class\": \"\", \"publish_date\": \"\", \"disabled_block\": \"0\", \"extra_block_id\": \"\"}, \"blockname\": \"\", \"components\": [], \"repeatable\": [{\"url\": \"https://www.google.com\", \"text\": \"Text of notification \", \"target\": \"_self\", \"label_url\": \"link1\", \"settings_expire_date\": \"\", \"settings_publish_date\": \"\"}], \"templatesBlocksId\": 0}}}');              
  55.         INSERT INTO `std_pages_pages` VALUES (NULL,@id_page_barra_notificacoes, 0, 1, @id_ct_system);
  56.         
  57.         INSERT INTO `std_friendly_url` (`page_id`, `url`, `relation_tree`, `relation_id`, `language_code`, `is_canonical`) 
  58.         VALUES (@id_page_barra_notificacoes, '/pt/barra-de-notificacoes', '[]', NULL, 'pt', 1);
  59.         INSERT INTO `std_config` (`machine_name`, `created_by`, `updated_by`, `value`, `description_machine_name`, `details_machine_name`, `parent_name`, `variable_type`, `order_value`, `is_hidden`, `is_active`, `created_date`, `updated_date`, `label`, `content`, `language_code`) VALUES 
  60.         ('notificationsbar_page', 1, 1, '', 'notificationsbar_page', 'notificationsbar_page', 'System', 'SELECT', 2, 0, 1, NOW(), NOW(), 'Barra de notificações', '{\"query\": \"select p.`name` as label,p.id as id from std_pages p INNER JOIN std_content_types sct ON p.content_type = sct.id  where sct.machine_name IN ( \'system\')\"}', '');
  61.         ");                                               
  62.     }
  63.     public function down(Schema $schema) : void
  64.     {
  65.         // this down() migration is auto-generated, please modify it to your needs
  66.         $this->addSql("
  67.             SET @block_id=(SELECT id FROM std_blocks WHERE machine_name='B31_notificationsbar');  
  68.               DELETE FROM `std_blocks_components` where machine_name IN ('text','label_url','url','target') and `block_id`= @block_id;
  69.               DELETE FROM `std_blocks_settings` where machine_name IN ('disabled_block','separator_styles','extra_block_id','extra_class','separator_spacings','margin','padding','container','bgcolor','textcolor') and `block_id`= @block_id;
  70.               DELETE FROM `std_blocks` where machine_name = 'B31_notificationsbar';
  71.         ");
  72.         $this->addSql("
  73.             SET @id_page_barra_notificacoes = (SELECT id FROM std_pages WHERE name='Barra de notificações'); 
  74.             DELETE FROM `std_config` where machine_name IN ('notificationsbar_page');
  75.             DELETE FROM `std_friendly_url` where page_id = @id_page_barra_notificacoes;
  76.             DELETE FROM `std_pages_content` where page_id = @id_page_barra_notificacoes;
  77.             DELETE FROM `std_pages_pages` where page_id = @id_page_barra_notificacoes;
  78.             DELETE FROM `std_pages` where id = @id_page_barra_notificacoes;
  79.         ");
  80.     }
  81. }