<?php
declare(strict_types=1);
namespace DoctrineMigrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
/**
* Auto-generated Migration: Please modify to your needs!
*/
final class Version20241105023843 extends AbstractMigration
{
public function getDescription(): string
{
return '';
}
public function up(Schema $schema): void
{
// this up() migration is auto-generated, please modify it to your needs
$idLayout = $this->connection->fetchOne("SELECT id from dtb_layout WHERE layout_name = :layout_name ", [
'layout_name' => 'layout previews new',
]);
if(!$idLayout){
$maxIdPage = $this->connection->fetchOne("SELECT MAX(id) AS max_id FROM dtb_page;");
$maxSortno= $this->connection->fetchOne("SELECT MAX(sort_no) AS max_sort_no FROM dtb_page_layout;");
$newPageId = ++$maxIdPage;
$newMaxSortno = ++$maxSortno;
$this->addSql("INSERT INTO `dtb_layout`(`device_type_id`, `layout_name`, `create_date`, `update_date`, `discriminator_type`) VALUES (10, 'layout previews new', NOW(), NOW(), 'layout')");
$this->addSql("SET @layoutId := (SELECT `id` FROM `dtb_layout` WHERE `layout_name` = 'layout previews new' LIMIT 1)");
$this->addSql("
INSERT INTO dtb_block_position (section, block_id, layout_id, block_row, discriminator_type)
VALUES
(3, 11, @layoutId, 0, 'blockposition'),
(7, 39, @layoutId, 1, 'blockposition'),
(7, 43, @layoutId, 2, 'blockposition'),
(10, 7, @layoutId, 1, 'blockposition')
");
$this->addSql(
"INSERT INTO `dtb_page` (`id`,`master_page_id`, `page_name`, `url`, `file_name`, `edit_type`, `author`, `description`, `keyword`, `create_date`, `update_date`, `meta_robots`, `meta_tags`, `discriminator_type`)
VALUES ($newPageId, NULL, 'レンタルしたい着物を無料で確認できる!オンライン下見サービス ', 'online_previews', 'online_previews', 0, null, null, null, NOW() , NOW(), NULL, NULL, 'page') "
);
$this->addSql(
"INSERT INTO `dtb_page_layout` (`page_id`,`layout_id`, `sort_no`, `discriminator_type`)
VALUES ($maxIdPage,@layoutId,$newMaxSortno,'pagelayout')"
);
}
}
public function down(Schema $schema): void
{
$idNewPage = $this->connection->fetchOne("SELECT id FROM dtb_page WHERE file_name = :file_name", [
'file_name' => 'online_previews',
]);
if ($idNewPage) {
$this->addSql("DELETE FROM dtb_page_layout WHERE page_id = :page_id", [
'page_id' => $idNewPage,
]);
$this->addSql("DELETE FROM dtb_page WHERE id = :id", [
'id' => $idNewPage,
]);
}
$idLayout = $this->connection->fetchOne("SELECT id from dtb_layout WHERE layout_name = :layout_name ", [
'layout_name' => 'layout previews new',
]);
if($idLayout){
$this->addSql("DELETE FROM dtb_block_position WHERE layout_id = :layout_id", [
'layout_id' => $idLayout,
]);
$this->addSql("DELETE FROM dtb_layout WHERE id = :layout_id", [
'layout_id' => $idLayout,
]);
}
}
}