<?php
declare(strict_types=1);
namespace DoctrineCompanyMigrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
/**
* Auto-generated Migration: Please modify to your needs!
*/
final class Version20220711162409 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
$this->addSql("CREATE TABLE ps_digitiz_otp_code (id INT AUTO_INCREMENT NOT NULL, email VARCHAR(255) NOT NULL, code VARCHAR(255) NOT NULL, expiresAt DATETIME NOT NULL COMMENT '(DC2Type:datetime_immutable)', UNIQUE INDEX UNIQ_3108D779E7927C74 (email), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ENGINE = InnoDB");
$this->addSql("ALTER TABLE ps_customer ADD roles LONGTEXT DEFAULT NULL COMMENT '(DC2Type:json)', ADD OAuthId VARCHAR(255) DEFAULT NULL, ADD is_verify BOOLEAN NOT NULL DEFAULT FALSE,ADD is_onboarded BOOLEAN NOT NULL DEFAULT FALSE, ADD is_onboarded_allergen BOOLEAN NOT NULL DEFAULT FALSE,ADD is_onboarded_diet BOOLEAN NOT NULL DEFAULT FALSE,ADD is_onboarded_personal BOOLEAN NOT NULL DEFAULT FALSE, CHANGE id_customer id_customer INT AUTO_INCREMENT NOT NULL, CHANGE passwd passwd VARCHAR(255) NOT NULL");
$this->addSql('CREATE TABLE ps_customer_allergen ( id_customer INT(11) NOT NULL, id_digitiz_allergen INT(11) UNSIGNED NOT NULL) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ENGINE = InnoDB');
// 08/08
$this->addSql('CREATE TABLE ps_customer_diet (id_customer INT NOT NULL, id_digitiz_diet INT NOT NULL, INDEX IDX_137EF466A76ED395 (id_customer), INDEX IDX_137EF46635E7D534 (id_digitiz_diet), PRIMARY KEY(id_customer, id_digitiz_diet)) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ENGINE = InnoDB');
$this->addSql('ALTER TABLE ps_customer ADD is_diets_skipped BOOLEAN NULL AFTER is_onboarded_personal , ADD is_allergies_skipped BOOLEAN NULL AFTER is_diets_skipped ;');
$this->addSql('CREATE TABLE ps_digitiz_device_type ( id INT NOT NULL AUTO_INCREMENT , slug VARCHAR(50) NOT NULL , name VARCHAR(100) NOT NULL , PRIMARY KEY ( id )) ENGINE = InnoDB;');
//12/sept
$this->addSql('CREATE TABLE ps_digitiz_transactions ( id INT NOT NULL AUTO_INCREMENT, provider VARCHAR(100) NULL, user_id INT DEFAULT NULL , order_pay_id VARCHAR(100) DEFAULT NULL , merchant_id VARCHAR(255) DEFAULT NULL , status VARCHAR(100) NOT NULL, action_page VARCHAR(100) NULL, type VARCHAR(10) NULL, is_used BOOLEAN NOT NULL DEFAULT FALSE, use_for VARCHAR(100) NULL, amount DECIMAL NOT NULL, token VARCHAR(255) NULL, card_number VARCHAR(100) NULL, date_exp VARCHAR(255) NULL, data TEXT NOT NULL , created_at DATETIME NOT NULL , updated_at DATETIME NOT NULL ,CONSTRAINT User_Order_merchant UNIQUE (user_id,order_pay_id,merchant_id), PRIMARY KEY ( id )) ENGINE = InnoDB; ');
$this->addSql('CREATE TABLE ps_transaction_history ( id INT NOT NULL AUTO_INCREMENT, type VARCHAR(100) NULL, user_id INT DEFAULT NULL, amount DECIMAL NOT NULL, description VARCHAR(255) NULL, transaction_id VARCHAR(255) NULL, createdAt DATE NOT NULL, PRIMARY KEY ( id )) ENGINE = InnoDB; ');
$this->addSql('ALTER TABLE ps_transaction_history ADD user_name VARCHAR(100) NULL AFTER user_id, ADD user_last_name VARCHAR(100) NULL AFTER user_name, ADD user_email VARCHAR(100) NULL AFTER user_last_name');
$this->addSql('ALTER TABLE ps_transaction_history ADD is_credit BOOLEAN NOT NULL AFTER amount;');
// 26/09
$this->addSql('CREATE TABLE ps_user_device ( id INT NOT NULL AUTO_INCREMENT , user_id INT NOT NULL , device_id INT NOT NULL , link_type INT NOT NULL ,created_at DATETIME NOT NULL, PRIMARY KEY ( id )) ENGINE = InnoDB;');
$this->addSql('CREATE TABLE ps_digitiz_order_reporting ( id INT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, order_id INT NOT NULL , message TEXT NOT NULL, created_at DATETIME NOT NULL, PRIMARY KEY (id)) ENGINE = InnoDB;');
$this->addSql('CREATE TABLE ps_digitiz_order_product_rate ( id INT NOT NULL AUTO_INCREMENT , order_detail_id INT NOT NULL , digitiz_order_combination_id INT NULL , value INT NOT NULL , PRIMARY KEY (id)) ENGINE = InnoDB;');
//
$this->addSql('ALTER TABLE ps_digitiz_order_product_rate ADD updated_at DATETIME NOT NULL AFTER value, ADD created_at DATETIME NOT NULL AFTER updated_at');
$this->addSql('CREATE TABLE ps_digitiz_order_rate ( id INT NOT NULL AUTO_INCREMENT , order_id INT NOT NULL , score INT NOT NULL , created_at DATETIME NOT NULL , updated_at DATETIME NOT NULL, PRIMARY KEY (id)) ENGINE = InnoDB;');
$this->addSql('ALTER TABLE ps_digitiz_wallet_history ADD type_method VARCHAR(100) NULL AFTER id_digitiz_device_payment_method;');
$this->addSql('CREATE TABLE ps_push_token ( id INT NOT NULL AUTO_INCREMENT, platform VARCHAR(100) NOT NULL , fcm_token TEXT NOT NULL , id_customer INT NOT NULL , created_at DATETIME NOT NULL , updated_at DATETIME NOT NULL, PRIMARY KEY (id)) ENGINE = InnoDB;');
$this->addSql('ALTER TABLE ps_digitiz_wallet_history CHANGE id_order id_order INT(11) UNSIGNED NULL;');
$this->addSql('ALTER TABLE ps_customer ADD app_downloaded BOOLEAN NULL DEFAULT FALSE AFTER is_onboarded_personal');
}
public function down(Schema $schema): void
{
// this down() migration is auto-generated, please modify it to your needs
$this->addSql('DROP TABLE ps_digitiz_otp_code');
$this->addSql('DROP TABLE ps_customer_allergen');
$this->addSql('DROP TABLE ps_digitiz_order_reporting');
}
}