migrations/Version20240620162452.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 Version20240620162452 extends AbstractMigration
  10. {
  11.     public function getDescription(): string
  12.     {
  13.         return '';
  14.     }
  15.     public function up(Schema $schema): void
  16.     {
  17.         // this up() migration is auto-generated, please modify it to your needs
  18.         $this->addSql('CREATE TABLE abap_payment (id UUID NOT NULL, payment_position_id UUID DEFAULT NULL, created_by UUID DEFAULT NULL, transaction_id VARCHAR(255) DEFAULT NULL, status VARCHAR(255) DEFAULT NULL, description VARCHAR(255) DEFAULT NULL, created_at TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT NULL, client_name VARCHAR(255) DEFAULT NULL, client_email VARCHAR(255) DEFAULT NULL, client_first_name VARCHAR(255) DEFAULT NULL, client_last_name VARCHAR(255) DEFAULT NULL, total_amount INT DEFAULT NULL, currency_code VARCHAR(255) DEFAULT NULL, details JSON DEFAULT NULL, language VARCHAR(255) DEFAULT NULL, credit_card VARCHAR(255) DEFAULT NULL, street VARCHAR(255) DEFAULT NULL, street_number VARCHAR(255) DEFAULT NULL, flat_number VARCHAR(255) DEFAULT NULL, town VARCHAR(255) DEFAULT NULL, gateway VARCHAR(255) DEFAULT NULL, PRIMARY KEY(id))');
  19.         $this->addSql('CREATE INDEX IDX_725EDF732B08FE9C ON abap_payment (payment_position_id)');
  20.         $this->addSql('CREATE INDEX IDX_725EDF73DE12AB56 ON abap_payment (created_by)');
  21.         $this->addSql('COMMENT ON COLUMN abap_payment.id IS \'(DC2Type:uuid)\'');
  22.         $this->addSql('COMMENT ON COLUMN abap_payment.payment_position_id IS \'(DC2Type:uuid)\'');
  23.         $this->addSql('COMMENT ON COLUMN abap_payment.created_by IS \'(DC2Type:uuid)\'');
  24.         $this->addSql('CREATE TABLE abap_payment_category (id UUID NOT NULL, name VARCHAR(255) NOT NULL, created_at TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT NULL, PRIMARY KEY(id))');
  25.         $this->addSql('COMMENT ON COLUMN abap_payment_category.id IS \'(DC2Type:uuid)\'');
  26.         $this->addSql('CREATE TABLE abap_payment_position (id UUID NOT NULL, payment_category_id UUID DEFAULT NULL, name VARCHAR(255) NOT NULL, created_at TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT NULL, price DOUBLE PRECISION DEFAULT NULL, is_multiple BOOLEAN NOT NULL, has_description BOOLEAN NOT NULL, PRIMARY KEY(id))');
  27.         $this->addSql('CREATE INDEX IDX_4BFF0415E4CA4D38 ON abap_payment_position (payment_category_id)');
  28.         $this->addSql('COMMENT ON COLUMN abap_payment_position.id IS \'(DC2Type:uuid)\'');
  29.         $this->addSql('COMMENT ON COLUMN abap_payment_position.payment_category_id IS \'(DC2Type:uuid)\'');
  30.         $this->addSql('CREATE TABLE abap_payment_security_token (hash VARCHAR(255) NOT NULL, details TEXT DEFAULT NULL, after_url VARCHAR(255) DEFAULT NULL, target_url VARCHAR(255) DEFAULT NULL, gateway_name VARCHAR(255) DEFAULT NULL, created_at TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT NULL, PRIMARY KEY(hash))');
  31.         $this->addSql('COMMENT ON COLUMN abap_payment_security_token.details IS \'(DC2Type:object)\'');
  32.         $this->addSql('CREATE TABLE attachment (id UUID NOT NULL, file_path VARCHAR(255) DEFAULT NULL, original_name VARCHAR(255) DEFAULT NULL, file_size INT DEFAULT NULL, file_type VARCHAR(255) DEFAULT NULL, created_at TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT NULL, PRIMARY KEY(id))');
  33.         $this->addSql('COMMENT ON COLUMN attachment.id IS \'(DC2Type:uuid)\'');
  34.         $this->addSql('CREATE TABLE group_notification (id UUID NOT NULL, name VARCHAR(255) NOT NULL, created_at TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT NULL, PRIMARY KEY(id))');
  35.         $this->addSql('COMMENT ON COLUMN group_notification.id IS \'(DC2Type:uuid)\'');
  36.         $this->addSql('CREATE TABLE notification (id UUID NOT NULL, recipient UUID DEFAULT NULL, title VARCHAR(255) NOT NULL, content TEXT NOT NULL, created_at TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT NULL, read_at TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT NULL, PRIMARY KEY(id))');
  37.         $this->addSql('CREATE INDEX IDX_BF5476CA6804FB49 ON notification (recipient)');
  38.         $this->addSql('COMMENT ON COLUMN notification.id IS \'(DC2Type:uuid)\'');
  39.         $this->addSql('COMMENT ON COLUMN notification.recipient IS \'(DC2Type:uuid)\'');
  40.         $this->addSql('CREATE TABLE service (id UUID NOT NULL, service_group_id UUID DEFAULT NULL, name VARCHAR(255) NOT NULL, card_number VARCHAR(10) NOT NULL, position INT NOT NULL, content TEXT NOT NULL, PRIMARY KEY(id))');
  41.         $this->addSql('CREATE INDEX IDX_E19D9AD2722827A ON service (service_group_id)');
  42.         $this->addSql('COMMENT ON COLUMN service.id IS \'(DC2Type:uuid)\'');
  43.         $this->addSql('COMMENT ON COLUMN service.service_group_id IS \'(DC2Type:uuid)\'');
  44.         $this->addSql('CREATE TABLE service_group (id UUID NOT NULL, name VARCHAR(255) NOT NULL, position INT NOT NULL, PRIMARY KEY(id))');
  45.         $this->addSql('COMMENT ON COLUMN service_group.id IS \'(DC2Type:uuid)\'');
  46.         $this->addSql('ALTER TABLE abap_payment ADD CONSTRAINT FK_725EDF732B08FE9C FOREIGN KEY (payment_position_id) REFERENCES abap_payment_position (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
  47.         $this->addSql('ALTER TABLE abap_payment ADD CONSTRAINT FK_725EDF73DE12AB56 FOREIGN KEY (created_by) REFERENCES "user" (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
  48.         $this->addSql('ALTER TABLE abap_payment_position ADD CONSTRAINT FK_4BFF0415E4CA4D38 FOREIGN KEY (payment_category_id) REFERENCES abap_payment_category (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
  49.         $this->addSql('ALTER TABLE notification ADD CONSTRAINT FK_BF5476CA6804FB49 FOREIGN KEY (recipient) REFERENCES "user" (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
  50.         $this->addSql('ALTER TABLE service ADD CONSTRAINT FK_E19D9AD2722827A FOREIGN KEY (service_group_id) REFERENCES service_group (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
  51.         $this->addSql('ALTER TABLE "user" ADD group_id UUID DEFAULT NULL');
  52.         $this->addSql('ALTER TABLE "user" ADD first_name VARCHAR(255) DEFAULT NULL');
  53.         $this->addSql('ALTER TABLE "user" ADD last_name VARCHAR(255) DEFAULT NULL');
  54.         $this->addSql('ALTER TABLE "user" ADD email VARCHAR(255) DEFAULT NULL');
  55.         $this->addSql('ALTER TABLE "user" ADD phone_number VARCHAR(255) DEFAULT NULL');
  56.         $this->addSql('ALTER TABLE "user" ADD notifications_consent BOOLEAN DEFAULT NULL');
  57.         $this->addSql('ALTER TABLE "user" ADD terms_consent BOOLEAN DEFAULT NULL');
  58.         $this->addSql('ALTER TABLE "user" ADD gdpr_consent BOOLEAN DEFAULT NULL');
  59.         $this->addSql('ALTER TABLE "user" ADD notifications_consent_date TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT NULL');
  60.         $this->addSql('ALTER TABLE "user" ADD terms_consent_date TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT NULL');
  61.         $this->addSql('ALTER TABLE "user" ADD gdpr_consent_date TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT NULL');
  62.         $this->addSql('ALTER TABLE "user" ADD inhabitant BOOLEAN DEFAULT NULL');
  63.         $this->addSql('ALTER TABLE "user" ADD accepted_at TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT NULL');
  64.         $this->addSql('ALTER TABLE "user" ADD first_login_at TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT NULL');
  65.         $this->addSql('ALTER TABLE "user" ADD logingov_personal_identifier VARCHAR(255) DEFAULT NULL');
  66.         $this->addSql('ALTER TABLE "user" ADD is_notification_user BOOLEAN DEFAULT NULL');
  67.         $this->addSql('ALTER TABLE "user" ALTER id DROP DEFAULT');
  68.         $this->addSql('ALTER TABLE "user" ALTER password DROP NOT NULL');
  69.         $this->addSql('COMMENT ON COLUMN "user".group_id IS \'(DC2Type:uuid)\'');
  70.         $this->addSql('ALTER TABLE "user" ADD CONSTRAINT FK_8D93D649FE54D947 FOREIGN KEY (group_id) REFERENCES group_notification (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
  71.         $this->addSql('CREATE INDEX IDX_8D93D649FE54D947 ON "user" (group_id)');
  72.     }
  73.     public function down(Schema $schema): void
  74.     {
  75.         // this down() migration is auto-generated, please modify it to your needs
  76.         $this->addSql('CREATE SCHEMA public');
  77.         $this->addSql('ALTER TABLE "user" DROP CONSTRAINT FK_8D93D649FE54D947');
  78.         $this->addSql('ALTER TABLE abap_payment DROP CONSTRAINT FK_725EDF732B08FE9C');
  79.         $this->addSql('ALTER TABLE abap_payment DROP CONSTRAINT FK_725EDF73DE12AB56');
  80.         $this->addSql('ALTER TABLE abap_payment_position DROP CONSTRAINT FK_4BFF0415E4CA4D38');
  81.         $this->addSql('ALTER TABLE notification DROP CONSTRAINT FK_BF5476CA6804FB49');
  82.         $this->addSql('ALTER TABLE service DROP CONSTRAINT FK_E19D9AD2722827A');
  83.         $this->addSql('DROP TABLE abap_payment');
  84.         $this->addSql('DROP TABLE abap_payment_category');
  85.         $this->addSql('DROP TABLE abap_payment_position');
  86.         $this->addSql('DROP TABLE abap_payment_security_token');
  87.         $this->addSql('DROP TABLE attachment');
  88.         $this->addSql('DROP TABLE group_notification');
  89.         $this->addSql('DROP TABLE notification');
  90.         $this->addSql('DROP TABLE service');
  91.         $this->addSql('DROP TABLE service_group');
  92.         $this->addSql('DROP INDEX IDX_8D93D649FE54D947');
  93.         $this->addSql('ALTER TABLE "user" DROP group_id');
  94.         $this->addSql('ALTER TABLE "user" DROP first_name');
  95.         $this->addSql('ALTER TABLE "user" DROP last_name');
  96.         $this->addSql('ALTER TABLE "user" DROP email');
  97.         $this->addSql('ALTER TABLE "user" DROP phone_number');
  98.         $this->addSql('ALTER TABLE "user" DROP notifications_consent');
  99.         $this->addSql('ALTER TABLE "user" DROP terms_consent');
  100.         $this->addSql('ALTER TABLE "user" DROP gdpr_consent');
  101.         $this->addSql('ALTER TABLE "user" DROP notifications_consent_date');
  102.         $this->addSql('ALTER TABLE "user" DROP terms_consent_date');
  103.         $this->addSql('ALTER TABLE "user" DROP gdpr_consent_date');
  104.         $this->addSql('ALTER TABLE "user" DROP inhabitant');
  105.         $this->addSql('ALTER TABLE "user" DROP accepted_at');
  106.         $this->addSql('ALTER TABLE "user" DROP first_login_at');
  107.         $this->addSql('ALTER TABLE "user" DROP logingov_personal_identifier');
  108.         $this->addSql('ALTER TABLE "user" DROP is_notification_user');
  109.         $this->addSql('ALTER TABLE "user" ALTER id SET DEFAULT \'gen_random_uuid()\'');
  110.         $this->addSql('ALTER TABLE "user" ALTER password SET NOT NULL');
  111.     }
  112. }