migrations/Version20240906111850.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 Version20240906111850 extends AbstractMigration
  10. {
  11.     public function getDescription(): string
  12.     {
  13.         return '';
  14.     }
  15.     public function up(Schema $schema): void
  16.     {
  17.         $this->addSql("CREATE TABLE `notification_log` (
  18.             `id` int NOT NULL AUTO_INCREMENT,
  19.             `notification_setting_id` int NOT NULL,
  20.             `workorder_id` int DEFAULT NULL,
  21.             `shipping_date` date DEFAULT NULL,
  22.             `start_date` date DEFAULT NULL,
  23.             `end_date` date DEFAULT NULL,
  24.             `action` varchar(255) NOT NULL,
  25.             `is_deleted` int NOT NULL DEFAULT '0',
  26.             `created_at` datetime NOT NULL,
  27.             `created_by` int NOT NULL,
  28.             PRIMARY KEY (`id`),
  29.             KEY `created_by` (`created_by`),
  30.             KEY `notification_setting_id` (`notification_setting_id`),
  31.             KEY `notification_log_ibfk_3` (`workorder_id`),
  32.             CONSTRAINT `notification_log_ibfk_1` FOREIGN KEY (`created_by`) REFERENCES `user` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
  33.             CONSTRAINT `notification_log_ibfk_2` FOREIGN KEY (`notification_setting_id`) REFERENCES `company_notification_settings` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
  34.             CONSTRAINT `notification_log_ibfk_3` FOREIGN KEY (`workorder_id`) REFERENCES `dp_workorder` (`id`) ON DELETE CASCADE ON UPDATE RESTRICT
  35.         )");
  36.         
  37.         $this->addSql("CREATE TABLE `dp_user_read_notification` (
  38.             `id` int NOT NULL AUTO_INCREMENT,
  39.             `notification_setting_id` int NOT NULL,
  40.             `company_id` int NOT NULL,
  41.             `user_id` int NOT NULL,
  42.             `notification_log_id` int DEFAULT NULL,
  43.             `is_read` int NOT NULL DEFAULT '0',
  44.             `created_by` int NOT NULL,
  45.             PRIMARY KEY (`id`),
  46.             KEY `company_id` (`company_id`),
  47.             KEY `user_id` (`user_id`),
  48.             KEY `dp_user_read_notification_ibfk_1` (`notification_setting_id`),
  49.             KEY `dp_user_read_notification_ibfk_4` (`notification_log_id`),
  50.             CONSTRAINT `dp_user_read_notification_ibfk_1` FOREIGN KEY (`notification_setting_id`) REFERENCES `company_notification_settings` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
  51.             CONSTRAINT `dp_user_read_notification_ibfk_2` FOREIGN KEY (`company_id`) REFERENCES `company` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
  52.             CONSTRAINT `dp_user_read_notification_ibfk_3` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
  53.             CONSTRAINT `dp_user_read_notification_ibfk_4` FOREIGN KEY (`notification_log_id`) REFERENCES `notification_log` (`id`) ON DELETE CASCADE ON UPDATE RESTRICT
  54.             )");
  55.         $this->addSql("ALTER TABLE `dp_workorder` ADD `production_status` ENUM('pending','in_progress','completed') NOT NULL DEFAULT 'pending' AFTER `work_order_status`");
  56.         $this->addSql("INSERT INTO `company_notification_settings` (`id`, `company_id`, `notification_type`, `notify_date`, `created_at`) VALUES
  57.             (1, 1, 'shipping_due_date', 0, '2024-08-30 11:13:33')");
  58.     }
  59.     public function down(Schema $schema): void
  60.     {
  61.         $this->addSql("DROP TABLE IF EXISTS `notification_log`");
  62.         $this->addSql("DROP TABLE IF EXISTS `dp_user_read_notification`");
  63.         $this->addSql("ALTER TABLE `dp_workorder` DROP COLUMN `production_status`");
  64.     }
  65. }