migrations/Version20211205062350.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 Version20211205062350 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 SEQUENCE admin_user_id_seq INCREMENT BY 1 MINVALUE 1 START 1');
  19.         $this->addSql('CREATE SEQUENCE dealer_id_seq INCREMENT BY 1 MINVALUE 1 START 1');
  20.         $this->addSql('CREATE SEQUENCE dealer_reader_id_seq INCREMENT BY 1 MINVALUE 1 START 1');
  21.         $this->addSql('CREATE SEQUENCE reader_id_seq INCREMENT BY 1 MINVALUE 1 START 1');
  22.         $this->addSql('CREATE SEQUENCE service_user_id_seq INCREMENT BY 1 MINVALUE 1 START 1');
  23.         $this->addSql('CREATE TABLE admin_user (id INT NOT NULL, dealer_id INT DEFAULT NULL, plain_password VARCHAR(255) NOT NULL, role VARCHAR(255) NOT NULL, firstname VARCHAR(255) DEFAULT NULL, lastname VARCHAR(255) DEFAULT NULL, password VARCHAR(255) NOT NULL, email VARCHAR(60) NOT NULL, confirmation_token VARCHAR(180) DEFAULT NULL, password_requested_at TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT NULL, active BOOLEAN DEFAULT \'true\' NOT NULL, search TEXT DEFAULT NULL, created_at TIMESTAMP(0) WITHOUT TIME ZONE NOT NULL, updated_at TIMESTAMP(0) WITHOUT TIME ZONE NOT NULL, PRIMARY KEY(id))');
  24.         $this->addSql('CREATE UNIQUE INDEX UNIQ_AD8A54A9E7927C74 ON admin_user (email)');
  25.         $this->addSql('CREATE UNIQUE INDEX UNIQ_AD8A54A9C05FB297 ON admin_user (confirmation_token)');
  26.         $this->addSql('CREATE UNIQUE INDEX UNIQ_AD8A54A9249E6EA1 ON admin_user (dealer_id)');
  27.         $this->addSql('CREATE TABLE dealer (id INT NOT NULL, service_reader_id INT DEFAULT NULL, name VARCHAR(255) NOT NULL, contract_number VARCHAR(255) NOT NULL, contract_date DATE NOT NULL, address VARCHAR(255) NOT NULL, contact_name VARCHAR(255) NOT NULL, contact_phone VARCHAR(255) NOT NULL, reader_count INT NOT NULL, dealer_percent INT NOT NULL, search TEXT DEFAULT NULL, PRIMARY KEY(id))');
  28.         $this->addSql('CREATE UNIQUE INDEX UNIQ_17A339024F86ED7D ON dealer (service_reader_id)');
  29.         $this->addSql('COMMENT ON COLUMN dealer.contract_date IS \'(DC2Type:date_immutable)\'');
  30.         $this->addSql('CREATE TABLE dealer_reader (id INT NOT NULL, dealer_id INT DEFAULT NULL, reader_id INT DEFAULT NULL, install_date DATE DEFAULT NULL, address VARCHAR(255) NOT NULL, flats_count INT NOT NULL, search TEXT DEFAULT NULL, PRIMARY KEY(id))');
  31.         $this->addSql('CREATE INDEX IDX_7BAFA393249E6EA1 ON dealer_reader (dealer_id)');
  32.         $this->addSql('CREATE UNIQUE INDEX UNIQ_7BAFA3931717D737 ON dealer_reader (reader_id)');
  33.         $this->addSql('COMMENT ON COLUMN dealer_reader.install_date IS \'(DC2Type:date_immutable)\'');
  34.         $this->addSql('CREATE TABLE reader (id INT NOT NULL, reader_id VARCHAR(255) NOT NULL, key INT NOT NULL, region INT NOT NULL, search TEXT DEFAULT NULL, PRIMARY KEY(id))');
  35.         $this->addSql('CREATE TABLE service_user (id INT NOT NULL, dealer_id INT DEFAULT NULL, phone VARCHAR(15) NOT NULL, full_name VARCHAR(255) NOT NULL, position VARCHAR(255) NOT NULL, access_from DATE DEFAULT NULL, access_to DATE DEFAULT NULL, search TEXT DEFAULT NULL, PRIMARY KEY(id))');
  36.         $this->addSql('CREATE INDEX IDX_43D062A5249E6EA1 ON service_user (dealer_id)');
  37.         $this->addSql('COMMENT ON COLUMN service_user.access_from IS \'(DC2Type:date_immutable)\'');
  38.         $this->addSql('COMMENT ON COLUMN service_user.access_to IS \'(DC2Type:date_immutable)\'');
  39.         $this->addSql('ALTER TABLE admin_user ADD CONSTRAINT FK_AD8A54A9249E6EA1 FOREIGN KEY (dealer_id) REFERENCES dealer (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
  40.         $this->addSql('ALTER TABLE dealer ADD CONSTRAINT FK_17A339024F86ED7D FOREIGN KEY (service_reader_id) REFERENCES reader (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
  41.         $this->addSql('ALTER TABLE dealer_reader ADD CONSTRAINT FK_7BAFA393249E6EA1 FOREIGN KEY (dealer_id) REFERENCES dealer (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
  42.         $this->addSql('ALTER TABLE dealer_reader ADD CONSTRAINT FK_7BAFA3931717D737 FOREIGN KEY (reader_id) REFERENCES reader (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
  43.         $this->addSql('ALTER TABLE service_user ADD CONSTRAINT FK_43D062A5249E6EA1 FOREIGN KEY (dealer_id) REFERENCES dealer (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
  44.     }
  45.     public function down(Schema $schema): void
  46.     {
  47.         // this down() migration is auto-generated, please modify it to your needs
  48.         $this->addSql('CREATE SCHEMA public');
  49.         $this->addSql('ALTER TABLE admin_user DROP CONSTRAINT FK_AD8A54A9249E6EA1');
  50.         $this->addSql('ALTER TABLE dealer_reader DROP CONSTRAINT FK_7BAFA393249E6EA1');
  51.         $this->addSql('ALTER TABLE service_user DROP CONSTRAINT FK_43D062A5249E6EA1');
  52.         $this->addSql('ALTER TABLE dealer DROP CONSTRAINT FK_17A339024F86ED7D');
  53.         $this->addSql('ALTER TABLE dealer_reader DROP CONSTRAINT FK_7BAFA3931717D737');
  54.         $this->addSql('DROP SEQUENCE admin_user_id_seq CASCADE');
  55.         $this->addSql('DROP SEQUENCE dealer_id_seq CASCADE');
  56.         $this->addSql('DROP SEQUENCE dealer_reader_id_seq CASCADE');
  57.         $this->addSql('DROP SEQUENCE reader_id_seq CASCADE');
  58.         $this->addSql('DROP SEQUENCE service_user_id_seq CASCADE');
  59.         $this->addSql('DROP TABLE admin_user');
  60.         $this->addSql('DROP TABLE dealer');
  61.         $this->addSql('DROP TABLE dealer_reader');
  62.         $this->addSql('DROP TABLE reader');
  63.         $this->addSql('DROP TABLE service_user');
  64.     }
  65. }