migrations/Version20230908155244.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.  * Migration 2 - insert basic system details, and create admin user and company
  8.  */
  9. final class Version20230908155244 extends AbstractMigration
  10. {
  11.     public function getDescription(): string
  12.     {
  13.         return '';
  14.     }
  15.     public function up(Schema $schema): void
  16.     {
  17.         // INSERT INTO account_settings
  18.         $accountSettingsData = array(
  19.             array(1'Free Trail'),
  20.             array(2'Silver'),
  21.             array(3'Gold'),
  22.             array(4'Diamond'),
  23.           );
  24.         foreach($accountSettingsData as $d) {
  25.             $this->addSql('INSERT INTO account_settings (id,version) VALUES (?,?)'$d);
  26.         }
  27.         // INSERT INTO terminology 
  28.         $terminologyData = array(
  29.            array(1'column''Column''Columns'),
  30.            array(2'row''Row''Rows'),
  31.            array(3'card''T-card''T-cards'),
  32.            array(4'board''Board''Boards'),
  33.            array(5'my_board''My board''My boards'),
  34.            array(6'user_type''User Type''User Type'),
  35.            array(7'user''User''Users'),
  36.            array(8'card_name''Card Name''Card Name'),
  37.            array(9'user_privilege''User Privilege''User Privileges')
  38.          );
  39.         foreach($terminologyData as $d) {
  40.             $this->addSql('INSERT INTO `terminology` (`id`, `terminology_key`, `singular_text`, `plural_text`) VALUES (?,?,?,?)'$d);
  41.         }
  42.         $companyId 1;
  43.         $userId 1;
  44.         $userTypeId 1;
  45.         $now = (new \DateTime('now'))->format('Y-m-d H:i:s');
  46.         // INSERT INTO company
  47.         $companyData = array(
  48.             array($companyId'LTS'10NULLNULLNULLNULLNULLNULL),
  49.         );
  50.         foreach($companyData as $d) {
  51.             $this->addSql('INSERT INTO `company` (`id`, `company_title`, `is_active`, `is_deleted`, `created_at`, `created_by`, `updated_at`, `updated_by`,'
  52.                 ' `deleted_at`, `deleted_by`)'
  53.                 ' VALUES (?,?,?,?,?,?,?,?,?,?)'$d);
  54.         }
  55.         // INSERT INTO company_settings
  56.         $companySettingsData = array(
  57.             array(1$companyId'en''C_M_D_Y''H_M_A''TH''C_M_D_Y_H_M_A''Asia/Calcutta'1055101051511111111),
  58.           );
  59.         foreach($companySettingsData as $d) {
  60.             $this->addSql('INSERT INTO `company_settings` (`id`, `company_id`,`system_language`, `date_format`, `time_format`, `week_start_day`, `datetime_format`,'
  61.                 ' `timezone`, `no_of_users`, `no_of_user_types`, `no_of_boards`, `no_of_columns`, `no_of_rows`, `no_of_card_layouts`, `no_of_card_layout_fields`,'
  62.                 ' `has_excel_upload`, `has_multiple_layouts`, `has_multiple_section`, `has_card_timer`, `has_theme_customization`, `has_transfer_card`,'
  63.                 ' `has_draft_cards`, `has_skill_matrix`) '
  64.                 ' VALUES (?,?,?,?,?, ?,?,?,?,?, ?,?,?,?,?, ?,?,?,?,?, ?,?,?)'$d);
  65.         }
  66.         // INSERT INTO tc_user_type
  67.         $userTypeData = array(
  68.             array($userTypeId$companyId'Administrator''[\"ROLE_USER\", \"ROLE_ADMIN\"]'100$now),
  69.           );
  70.         foreach($userTypeData as $d) {
  71.             $this->addSql('INSERT INTO `tc_user_type` (`id`, `company_id`, `type_title`, `roles`, `is_active`, `is_default`, `is_deleted`, `created_at`) '
  72.                 ' VALUES (?,?,?,?,?, ?,?,?)'$d);
  73.         }
  74.         // INSERT INTO user
  75.         $userData = array(
  76.             array($userId'[email protected]''["ROLE_ADMIN"]'$userTypeId'$2y$13$lkpQ20pF267MvLZp8Y8VI.5672BdyRT.ghQoM0gWpWiGj/w8pta2G'0111),
  77.           );
  78.         foreach($userData as $d) {
  79.             $this->addSql('INSERT INTO `user` (`id`, `email`, `roles`, `user_type`, `password`, `main_admin`, `super_admin`, `is_verified`, `is_active`) '
  80.                 ' VALUES (?,?,?,?,?, ?,?,?,?)'$d);
  81.         }
  82.         // INSERT INTO user
  83.         $userProfileData = array(
  84.             array(1$userId1'ADMIN''LTS'),
  85.           );
  86.         foreach($userProfileData as $d) {
  87.             $this->addSql('INSERT INTO `user_profile` (`id`, `user_id`, `ref_id`, `first_name`, `last_name`) '
  88.                 ' VALUES (?,?,?,?,?)'$d);
  89.         }
  90.         // INSERT INTO company_user
  91.         $companyUserData = array(
  92.             array(1$companyId$userId11$now),
  93.           );
  94.         foreach($companyUserData as $d) {
  95.             $this->addSql('INSERT INTO `company_user` (`id`, `company_id`, `user_id`, `is_main_user`, `is_default_company`, `assigned_date`) '
  96.                 ' VALUES (?,?,?,?,?,?)'$d);
  97.         }
  98.     }
  99.     public function down(Schema $schema): void
  100.     {
  101.         
  102.         
  103.         // DELETE FROM account_settings
  104.         $data = array(
  105.            array(1'Free Trail'),
  106.            array(2'Silver'),
  107.            array(3'Gold'),
  108.            array(4'Diamond'),
  109.          );
  110.         foreach($data as $d) {
  111.             $this->addSql('DELETE FROM `account_settings` WHERE `account_settings`.`id` = ?', array($d[0]));
  112.         }
  113.         // DELETE FROM terminology
  114.         $data = array(
  115.            array(1'column''Column''Columns'),
  116.            array(2'row''Row''Rows'),
  117.            array(3'card''T-card''T-cards'),
  118.            array(4'board''Board''Boards'),
  119.            array(5'my_board''My board''My boards'),
  120.            array(6'user_type''User Type''User Type'),
  121.            array(7'user''User''Users'),
  122.            array(8'card_name''Card Name''Card Name'),
  123.            array(9'user_privilege''User Privilege''User Privileges')
  124.          );
  125.         foreach($data as $d) {
  126.             $this->addSql('DELETE FROM `terminology` WHERE `terminology`.`id` = ?', array($d[0]));
  127.         }
  128.         $companyId 1;
  129.         $userId 1;
  130.         $userTypeId 1;
  131.         $this->addSql('DELETE FROM `company` WHERE `company`.`id` = ?', array($companyId));
  132.         $this->addSql('DELETE FROM `company_settings` WHERE `company_settings`.`company_id` = ?', array($companyId));
  133.         $this->addSql('DELETE FROM `tc_user_type` WHERE `tc_user_type`.`id` = ?', array($userTypeId));
  134.         $this->addSql('DELETE FROM `user` WHERE `user`.`id` = ?', array($userId));
  135.         $this->addSql('DELETE FROM `user_profile` WHERE `user_profile`.`user_id` = ?', array($userId));
  136.         $this->addSql('DELETE FROM `company_user` WHERE `company_user`.`company_id` = ? AND `company_user`.`user_id` = ?', array($companyId$userId));
  137.     }
  138. }