migrations/Version20220527212549.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 Version20220527212549 extends AbstractMigration
  10. {
  11.     public function getDescription(): string
  12.     {
  13.         return 'Initial migration';
  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 api_keys (id CHAR(36) NOT NULL COMMENT \'(DC2Type:uuid)\', project_id CHAR(36) NOT NULL COMMENT \'(DC2Type:uuid)\', value VARCHAR(128) NOT NULL, created_at DATETIME DEFAULT CURRENT_TIMESTAMP, name VARCHAR(255) NOT NULL, is_active TINYINT(1) DEFAULT 1 NOT NULL, UNIQUE INDEX UNIQ_9579321F1D775834 (value), INDEX IDX_9579321F166D1F9C (project_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  19.         $this->addSql('CREATE TABLE classification__category (id VARCHAR(36) NOT NULL, parent_id VARCHAR(36) DEFAULT NULL, context VARCHAR(36) NOT NULL, name VARCHAR(255) NOT NULL, enabled TINYINT(1) NOT NULL, slug VARCHAR(255) NOT NULL, description VARCHAR(255) DEFAULT NULL, position INT DEFAULT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, INDEX IDX_43629B36727ACA70 (parent_id), INDEX IDX_43629B36E25D857E (context), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  20.         $this->addSql('CREATE TABLE classification__collection (id VARCHAR(36) NOT NULL, context VARCHAR(36) NOT NULL, name VARCHAR(255) NOT NULL, enabled TINYINT(1) NOT NULL, slug VARCHAR(255) NOT NULL, description VARCHAR(255) DEFAULT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, INDEX IDX_A406B56AE25D857E (context), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  21.         $this->addSql('CREATE TABLE classification__context (id VARCHAR(36) NOT NULL, name VARCHAR(255) NOT NULL, enabled TINYINT(1) NOT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  22.         $this->addSql('CREATE TABLE classification__tag (id VARCHAR(36) NOT NULL, context VARCHAR(36) NOT NULL, name VARCHAR(255) NOT NULL, enabled TINYINT(1) NOT NULL, slug VARCHAR(255) NOT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, INDEX IDX_CA57A1C7E25D857E (context), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  23.         $this->addSql('CREATE TABLE clients (id CHAR(36) NOT NULL COMMENT \'(DC2Type:uuid)\', success_return_url VARCHAR(255) DEFAULT NULL, failed_return_url VARCHAR(255) DEFAULT NULL, checkout_button_text VARCHAR(255) DEFAULT NULL, webhook_url VARCHAR(255) NOT NULL, webhook_api_key VARCHAR(255) DEFAULT NULL, created_at DATETIME DEFAULT CURRENT_TIMESTAMP, name VARCHAR(255) NOT NULL, is_active TINYINT(1) DEFAULT 1 NOT NULL, updated_at DATETIME DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  24.         $this->addSql('CREATE TABLE credentials (id CHAR(36) NOT NULL COMMENT \'(DC2Type:uuid)\', created_at DATETIME DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  25.         $this->addSql('CREATE TABLE customer_addresses (id CHAR(36) NOT NULL COMMENT \'(DC2Type:uuid)\', customer_id CHAR(36) NOT NULL COMMENT \'(DC2Type:uuid)\', street_name VARCHAR(255) DEFAULT NULL, street_number VARCHAR(10) DEFAULT NULL, city_name VARCHAR(255) DEFAULT NULL, county_name VARCHAR(255) DEFAULT NULL, country_name VARCHAR(255) DEFAULT NULL, info VARCHAR(255) DEFAULT NULL, postal_code VARCHAR(50) DEFAULT NULL, created_at DATETIME DEFAULT CURRENT_TIMESTAMP, UNIQUE INDEX UNIQ_C4378D0C9395C3F3 (customer_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  26.         $this->addSql('CREATE TABLE customers (id CHAR(36) NOT NULL COMMENT \'(DC2Type:uuid)\', project_id CHAR(36) NOT NULL COMMENT \'(DC2Type:uuid)\', client_id VARCHAR(36) NOT NULL, processor_id VARCHAR(36) DEFAULT NULL, first_name VARCHAR(180) DEFAULT NULL, last_nume VARCHAR(180) DEFAULT NULL, email VARCHAR(180) DEFAULT NULL, phone_number VARCHAR(25) DEFAULT NULL, created_at DATETIME DEFAULT CURRENT_TIMESTAMP, UNIQUE INDEX UNIQ_62534E2119EB6921 (client_id), INDEX IDX_62534E21166D1F9C (project_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  27.         $this->addSql('CREATE TABLE media__gallery (id VARCHAR(36) NOT NULL, name VARCHAR(255) NOT NULL, context VARCHAR(64) NOT NULL, default_format VARCHAR(255) NOT NULL, enabled TINYINT(1) NOT NULL, updated_at DATETIME NOT NULL, created_at DATETIME NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  28.         $this->addSql('CREATE TABLE media__gallery_item (id VARCHAR(36) NOT NULL, gallery_id VARCHAR(36) DEFAULT NULL, media_id VARCHAR(36) DEFAULT NULL, position INT NOT NULL, enabled TINYINT(1) NOT NULL, updated_at DATETIME NOT NULL, created_at DATETIME NOT NULL, INDEX IDX_3238519A4E7AF8F (gallery_id), INDEX IDX_3238519AEA9FDD75 (media_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  29.         $this->addSql('CREATE TABLE media__media (id VARCHAR(36) NOT NULL, category_id VARCHAR(36) DEFAULT NULL, name VARCHAR(255) NOT NULL, description TEXT DEFAULT NULL, enabled TINYINT(1) NOT NULL, provider_name VARCHAR(255) NOT NULL, provider_status INT NOT NULL, provider_reference VARCHAR(255) NOT NULL, provider_metadata JSON DEFAULT NULL, width INT DEFAULT NULL, height INT DEFAULT NULL, length NUMERIC(10, 0) DEFAULT NULL, content_type VARCHAR(255) DEFAULT NULL, content_size INT DEFAULT NULL, copyright VARCHAR(255) DEFAULT NULL, author_name VARCHAR(255) DEFAULT NULL, context VARCHAR(64) DEFAULT NULL, cdn_is_flushable TINYINT(1) NOT NULL, cdn_flush_identifier VARCHAR(64) DEFAULT NULL, cdn_flush_at DATETIME DEFAULT NULL, cdn_status INT DEFAULT NULL, updated_at DATETIME NOT NULL, created_at DATETIME NOT NULL, INDEX IDX_5C6DD74E12469DE2 (category_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  30.         $this->addSql('CREATE TABLE payment_cards (id CHAR(36) NOT NULL COMMENT \'(DC2Type:uuid)\', customer_id CHAR(36) NOT NULL COMMENT \'(DC2Type:uuid)\', processor_id VARCHAR(255) DEFAULT NULL, mask VARCHAR(255) NOT NULL, token VARCHAR(255) NOT NULL, type VARCHAR(50) NOT NULL, expiryDate VARCHAR(10) NOT NULL, supports3ds TINYINT(1) DEFAULT 1 NOT NULL, payment_processor_code VARCHAR(255) NOT NULL, created_at DATETIME DEFAULT CURRENT_TIMESTAMP, UNIQUE INDEX UNIQ_538B6E4F5F37A13B (token), INDEX IDX_538B6E4F9395C3F3 (customer_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  31.         $this->addSql('CREATE TABLE payment_intent_events (id CHAR(36) NOT NULL COMMENT \'(DC2Type:uuid)\', payment_intent_id CHAR(36) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', event VARCHAR(255) NOT NULL, notification_status VARCHAR(255) DEFAULT \'notification_status.created\' NOT NULL, created_at DATETIME DEFAULT CURRENT_TIMESTAMP, INDEX IDX_482364418BC036E4 (payment_intent_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  32.         $this->addSql('CREATE TABLE payment_intents (id CHAR(36) NOT NULL COMMENT \'(DC2Type:uuid)\', project_id CHAR(36) NOT NULL COMMENT \'(DC2Type:uuid)\', payment_processor_id CHAR(36) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', payment_method_id CHAR(36) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', transaction_id CHAR(36) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', customer_id CHAR(36) NOT NULL COMMENT \'(DC2Type:uuid)\', payment_card_id CHAR(36) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', processor_id VARCHAR(100) DEFAULT NULL, type VARCHAR(50) NOT NULL, capture_method VARCHAR(50) NOT NULL, client_metadata JSON DEFAULT NULL, processor_metadata JSON DEFAULT NULL, payment_token VARCHAR(128) DEFAULT NULL, jwt_token VARCHAR(2048) DEFAULT NULL, public_processor_metadata JSON DEFAULT NULL, available_processors JSON DEFAULT NULL, success_url VARCHAR(300) DEFAULT NULL, failed_url VARCHAR(300) DEFAULT NULL, webhook_url VARCHAR(300) DEFAULT NULL, beneficiary VARCHAR(255) DEFAULT NULL, message VARCHAR(255) DEFAULT NULL, is_refund TINYINT(1) DEFAULT 0, created_at DATETIME DEFAULT CURRENT_TIMESTAMP, expiry_time DATETIME DEFAULT NULL, status VARCHAR(50) NOT NULL, request_logs_ids JSON DEFAULT NULL, UNIQUE INDEX UNIQ_68498DE887E9789 (payment_token), INDEX IDX_68498DE8166D1F9C (project_id), INDEX IDX_68498DE8514A7680 (payment_processor_id), INDEX IDX_68498DE85AA1164F (payment_method_id), UNIQUE INDEX UNIQ_68498DE82FC0CB0F (transaction_id), INDEX IDX_68498DE89395C3F3 (customer_id), INDEX IDX_68498DE8538594CA (payment_card_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  33.         $this->addSql('CREATE TABLE payment_intents_has_status_entries (payment_intent_id CHAR(36) NOT NULL COMMENT \'(DC2Type:uuid)\', status_entry_id CHAR(36) NOT NULL COMMENT \'(DC2Type:uuid)\', INDEX IDX_C8766A338BC036E4 (payment_intent_id), INDEX IDX_C8766A3327ECEE9A (status_entry_id), PRIMARY KEY(payment_intent_id, status_entry_id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  34.         $this->addSql('CREATE TABLE payment_methods (id CHAR(36) NOT NULL COMMENT \'(DC2Type:uuid)\', slug VARCHAR(50) NOT NULL, created_at DATETIME DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  35.         $this->addSql('CREATE TABLE payment_processor_definitions (id CHAR(36) NOT NULL COMMENT \'(DC2Type:uuid)\', code VARCHAR(50) NOT NULL, created_at DATETIME DEFAULT CURRENT_TIMESTAMP, name VARCHAR(255) NOT NULL, UNIQUE INDEX UNIQ_C6B6650A77153098 (code), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  36.         $this->addSql('CREATE TABLE payment_processors (id CHAR(36) NOT NULL COMMENT \'(DC2Type:uuid)\', project_id CHAR(36) NOT NULL COMMENT \'(DC2Type:uuid)\', processor_credentials_id CHAR(36) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', code VARCHAR(50) NOT NULL, created_at DATETIME DEFAULT CURRENT_TIMESTAMP, INDEX IDX_45BADF6C166D1F9C (project_id), UNIQUE INDEX UNIQ_45BADF6C320CE2CA (processor_credentials_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  37.         $this->addSql('CREATE TABLE payment_processors_payment_methods (payment_processor_id CHAR(36) NOT NULL COMMENT \'(DC2Type:uuid)\', payment_method_id CHAR(36) NOT NULL COMMENT \'(DC2Type:uuid)\', INDEX IDX_62B5C441514A7680 (payment_processor_id), INDEX IDX_62B5C4415AA1164F (payment_method_id), PRIMARY KEY(payment_processor_id, payment_method_id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  38.         $this->addSql('CREATE TABLE processor_credentials (id CHAR(36) NOT NULL COMMENT \'(DC2Type:uuid)\', created_at DATETIME DEFAULT CURRENT_TIMESTAMP, discriminator VARCHAR(50) NOT NULL, publishable_key VARCHAR(255) DEFAULT NULL, secret_key VARCHAR(255) DEFAULT NULL, webhook_secret VARCHAR(255) DEFAULT NULL, soap_username VARCHAR(255) DEFAULT NULL, soap_password VARCHAR(255) DEFAULT NULL, signature VARCHAR(255) DEFAULT NULL, public_cert LONGTEXT DEFAULT NULL, private_key LONGTEXT DEFAULT NULL, sandbox TINYINT(1) DEFAULT NULL, url VARCHAR(255) DEFAULT NULL, apikey VARCHAR(255) DEFAULT NULL, base_url VARCHAR(255) DEFAULT NULL, merchant_id VARCHAR(255) DEFAULT NULL, merchant_key VARCHAR(255) DEFAULT NULL, sms_city_code VARCHAR(5) DEFAULT NULL, sms_config JSON DEFAULT NULL, sms_response_messages JSON DEFAULT NULL, UNIQUE INDEX UNIQ_F0D32909E33ACB47 (sms_city_code), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  39.         $this->addSql('CREATE TABLE request_logs (id CHAR(36) NOT NULL COMMENT \'(DC2Type:uuid)\', method VARCHAR(10) NOT NULL, uri VARCHAR(255) NOT NULL, status_code INT NOT NULL, headers JSON DEFAULT NULL, query_params JSON DEFAULT NULL, body_params JSON DEFAULT NULL, response_body JSON DEFAULT NULL, exception LONGTEXT DEFAULT NULL, request_duration DOUBLE PRECISION DEFAULT NULL, created_at DATETIME DEFAULT CURRENT_TIMESTAMP, INDEX request_logs_created_at_uri_idx (created_at, uri), INDEX request_logs_created_at_status_code_idx (created_at, status_code), INDEX request_logs_created_at_method_uri_status_code_idx (created_at, method, uri, status_code), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  40.         $this->addSql('CREATE TABLE sms_intents (id CHAR(36) NOT NULL COMMENT \'(DC2Type:uuid)\', payment_intent_id CHAR(36) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', payment_processor_id CHAR(36) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', phone_number VARCHAR(255) NOT NULL, message_sent VARCHAR(255) NOT NULL, request_data JSON NOT NULL, registration_plate VARCHAR(64) NOT NULL, sms_service VARCHAR(64) NOT NULL, sms_reply_id VARCHAR(128) NOT NULL, sms_price_in_cents INT NOT NULL, sms_price_currency VARCHAR(3) NOT NULL, confirmation_key VARCHAR(16) NOT NULL, state VARCHAR(32) NOT NULL, confirmed_at DATETIME DEFAULT NULL, validated_at DATETIME DEFAULT NULL, errored_at DATETIME DEFAULT NULL, validation_requests JSON DEFAULT NULL, period_uom SMALLINT DEFAULT 1 NOT NULL, created_at DATETIME DEFAULT CURRENT_TIMESTAMP, UNIQUE INDEX UNIQ_811A48D88BC036E4 (payment_intent_id), INDEX IDX_811A48D8514A7680 (payment_processor_id), INDEX IDX_811A48D86B01BC5B (phone_number), INDEX IDX_811A48D8704B0348 (confirmation_key), INDEX IDX_811A48D8A393D2FB (state), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  41.         $this->addSql('CREATE TABLE sonata_user__user (id VARCHAR(36) NOT NULL, username VARCHAR(180) NOT NULL, username_canonical VARCHAR(180) NOT NULL, email VARCHAR(180) NOT NULL, email_canonical VARCHAR(180) NOT NULL, enabled TINYINT(1) NOT NULL, salt VARCHAR(255) DEFAULT NULL, password VARCHAR(255) NOT NULL, last_login DATETIME DEFAULT NULL, confirmation_token VARCHAR(180) DEFAULT NULL, password_requested_at DATETIME DEFAULT NULL, roles LONGTEXT NOT NULL COMMENT \'(DC2Type:array)\', created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, UNIQUE INDEX UNIQ_4F797D592FC23A8 (username_canonical), UNIQUE INDEX UNIQ_4F797D5A0D96FBF (email_canonical), UNIQUE INDEX UNIQ_4F797D5C05FB297 (confirmation_token), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  42.         $this->addSql('CREATE TABLE status_entries (id CHAR(36) NOT NULL COMMENT \'(DC2Type:uuid)\', created_at DATETIME DEFAULT CURRENT_TIMESTAMP, status VARCHAR(50) NOT NULL, metadata JSON DEFAULT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  43.         $this->addSql('CREATE TABLE transactions (id CHAR(36) NOT NULL COMMENT \'(DC2Type:uuid)\', payment_card_id CHAR(36) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', amount NUMERIC(20, 2) NOT NULL, currency VARCHAR(10) NOT NULL, created_at DATETIME DEFAULT CURRENT_TIMESTAMP, INDEX IDX_EAA81A4C538594CA (payment_card_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  44.         $this->addSql('CREATE TABLE users (id CHAR(36) NOT NULL COMMENT \'(DC2Type:uuid)\', first_name VARCHAR(180) DEFAULT NULL, last_nume VARCHAR(180) DEFAULT NULL, email VARCHAR(180) DEFAULT NULL, phone_number VARCHAR(25) DEFAULT NULL, roles JSON DEFAULT NULL, password VARCHAR(255) DEFAULT NULL, salt VARCHAR(255) NOT NULL, created_at DATETIME DEFAULT CURRENT_TIMESTAMP, updated_at DATETIME DEFAULT CURRENT_TIMESTAMP, is_active TINYINT(1) DEFAULT 1 NOT NULL, UNIQUE INDEX UNIQ_1483A5E9E7927C74 (email), UNIQUE INDEX UNIQ_1483A5E96B01BC5B (phone_number), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  45.         $this->addSql('ALTER TABLE api_keys ADD CONSTRAINT FK_9579321F166D1F9C FOREIGN KEY (project_id) REFERENCES clients (id) ON DELETE CASCADE');
  46.         $this->addSql('ALTER TABLE classification__category ADD CONSTRAINT FK_43629B36727ACA70 FOREIGN KEY (parent_id) REFERENCES classification__category (id) ON DELETE CASCADE');
  47.         $this->addSql('ALTER TABLE classification__category ADD CONSTRAINT FK_43629B36E25D857E FOREIGN KEY (context) REFERENCES classification__context (id)');
  48.         $this->addSql('ALTER TABLE classification__collection ADD CONSTRAINT FK_A406B56AE25D857E FOREIGN KEY (context) REFERENCES classification__context (id)');
  49.         $this->addSql('ALTER TABLE classification__tag ADD CONSTRAINT FK_CA57A1C7E25D857E FOREIGN KEY (context) REFERENCES classification__context (id)');
  50.         $this->addSql('ALTER TABLE customer_addresses ADD CONSTRAINT FK_C4378D0C9395C3F3 FOREIGN KEY (customer_id) REFERENCES customers (id) ON DELETE CASCADE');
  51.         $this->addSql('ALTER TABLE customers ADD CONSTRAINT FK_62534E21166D1F9C FOREIGN KEY (project_id) REFERENCES clients (id) ON DELETE CASCADE');
  52.         $this->addSql('ALTER TABLE media__gallery_item ADD CONSTRAINT FK_3238519A4E7AF8F FOREIGN KEY (gallery_id) REFERENCES media__gallery (id) ON DELETE CASCADE');
  53.         $this->addSql('ALTER TABLE media__gallery_item ADD CONSTRAINT FK_3238519AEA9FDD75 FOREIGN KEY (media_id) REFERENCES media__media (id) ON DELETE CASCADE');
  54.         $this->addSql('ALTER TABLE media__media ADD CONSTRAINT FK_5C6DD74E12469DE2 FOREIGN KEY (category_id) REFERENCES classification__category (id) ON DELETE SET NULL');
  55.         $this->addSql('ALTER TABLE payment_cards ADD CONSTRAINT FK_538B6E4F9395C3F3 FOREIGN KEY (customer_id) REFERENCES customers (id) ON DELETE CASCADE');
  56.         $this->addSql('ALTER TABLE payment_intent_events ADD CONSTRAINT FK_482364418BC036E4 FOREIGN KEY (payment_intent_id) REFERENCES payment_intents (id) ON DELETE CASCADE');
  57.         $this->addSql('ALTER TABLE payment_intents ADD CONSTRAINT FK_68498DE8166D1F9C FOREIGN KEY (project_id) REFERENCES clients (id)');
  58.         $this->addSql('ALTER TABLE payment_intents ADD CONSTRAINT FK_68498DE8514A7680 FOREIGN KEY (payment_processor_id) REFERENCES payment_processors (id)');
  59.         $this->addSql('ALTER TABLE payment_intents ADD CONSTRAINT FK_68498DE85AA1164F FOREIGN KEY (payment_method_id) REFERENCES payment_methods (id)');
  60.         $this->addSql('ALTER TABLE payment_intents ADD CONSTRAINT FK_68498DE82FC0CB0F FOREIGN KEY (transaction_id) REFERENCES transactions (id)');
  61.         $this->addSql('ALTER TABLE payment_intents ADD CONSTRAINT FK_68498DE89395C3F3 FOREIGN KEY (customer_id) REFERENCES customers (id) ON DELETE RESTRICT');
  62.         $this->addSql('ALTER TABLE payment_intents ADD CONSTRAINT FK_68498DE8538594CA FOREIGN KEY (payment_card_id) REFERENCES payment_cards (id) ON DELETE SET NULL');
  63.         $this->addSql('ALTER TABLE payment_intents_has_status_entries ADD CONSTRAINT FK_C8766A338BC036E4 FOREIGN KEY (payment_intent_id) REFERENCES payment_intents (id) ON DELETE CASCADE');
  64.         $this->addSql('ALTER TABLE payment_intents_has_status_entries ADD CONSTRAINT FK_C8766A3327ECEE9A FOREIGN KEY (status_entry_id) REFERENCES status_entries (id) ON DELETE CASCADE');
  65.         $this->addSql('ALTER TABLE payment_processors ADD CONSTRAINT FK_45BADF6C166D1F9C FOREIGN KEY (project_id) REFERENCES clients (id) ON DELETE CASCADE');
  66.         $this->addSql('ALTER TABLE payment_processors ADD CONSTRAINT FK_45BADF6C320CE2CA FOREIGN KEY (processor_credentials_id) REFERENCES processor_credentials (id) ON DELETE CASCADE');
  67.         $this->addSql('ALTER TABLE payment_processors_payment_methods ADD CONSTRAINT FK_62B5C441514A7680 FOREIGN KEY (payment_processor_id) REFERENCES payment_processors (id) ON DELETE CASCADE');
  68.         $this->addSql('ALTER TABLE payment_processors_payment_methods ADD CONSTRAINT FK_62B5C4415AA1164F FOREIGN KEY (payment_method_id) REFERENCES payment_methods (id) ON DELETE CASCADE');
  69.         $this->addSql('ALTER TABLE sms_intents ADD CONSTRAINT FK_811A48D88BC036E4 FOREIGN KEY (payment_intent_id) REFERENCES payment_intents (id) ON DELETE CASCADE');
  70.         $this->addSql('ALTER TABLE sms_intents ADD CONSTRAINT FK_811A48D8514A7680 FOREIGN KEY (payment_processor_id) REFERENCES payment_processors (id) ON DELETE CASCADE');
  71.         $this->addSql('ALTER TABLE transactions ADD CONSTRAINT FK_EAA81A4C538594CA FOREIGN KEY (payment_card_id) REFERENCES payment_cards (id) ON DELETE RESTRICT');
  72.         $this->addSql('CREATE INDEX payment_intent_created_at ON payment_intents (created_at);');
  73.         $this->addSql('CREATE INDEX payment_intent_payment_processor_id_status_created_at ON payment_intents (payment_processor_id, status, created_at);');
  74.         $this->addSql('CREATE INDEX payment_intent_payment_project_id_status_created_at ON payment_intents (project_id, status, created_at);');
  75.         $this->addSql('CREATE INDEX payment_intents_processor_id_idx ON payment_intents (processor_id);');
  76.         $this->addSql('DROP INDEX UNIQ_62534E2119EB6921 ON customers;');
  77.     }
  78.     public function down(Schema $schema): void
  79.     {
  80.         // this down() migration is auto-generated, please modify it to your needs
  81.         $this->addSql('ALTER TABLE api_keys DROP FOREIGN KEY FK_9579321F166D1F9C');
  82.         $this->addSql('ALTER TABLE classification__category DROP FOREIGN KEY FK_43629B36727ACA70');
  83.         $this->addSql('ALTER TABLE classification__category DROP FOREIGN KEY FK_43629B36E25D857E');
  84.         $this->addSql('ALTER TABLE classification__collection DROP FOREIGN KEY FK_A406B56AE25D857E');
  85.         $this->addSql('ALTER TABLE classification__tag DROP FOREIGN KEY FK_CA57A1C7E25D857E');
  86.         $this->addSql('ALTER TABLE customer_addresses DROP FOREIGN KEY FK_C4378D0C9395C3F3');
  87.         $this->addSql('ALTER TABLE customers DROP FOREIGN KEY FK_62534E21166D1F9C');
  88.         $this->addSql('ALTER TABLE media__gallery_item DROP FOREIGN KEY FK_3238519A4E7AF8F');
  89.         $this->addSql('ALTER TABLE media__gallery_item DROP FOREIGN KEY FK_3238519AEA9FDD75');
  90.         $this->addSql('ALTER TABLE media__media DROP FOREIGN KEY FK_5C6DD74E12469DE2');
  91.         $this->addSql('ALTER TABLE payment_cards DROP FOREIGN KEY FK_538B6E4F9395C3F3');
  92.         $this->addSql('ALTER TABLE payment_intent_events DROP FOREIGN KEY FK_482364418BC036E4');
  93.         $this->addSql('ALTER TABLE payment_intents DROP FOREIGN KEY FK_68498DE8166D1F9C');
  94.         $this->addSql('ALTER TABLE payment_intents DROP FOREIGN KEY FK_68498DE8514A7680');
  95.         $this->addSql('ALTER TABLE payment_intents DROP FOREIGN KEY FK_68498DE85AA1164F');
  96.         $this->addSql('ALTER TABLE payment_intents DROP FOREIGN KEY FK_68498DE82FC0CB0F');
  97.         $this->addSql('ALTER TABLE payment_intents DROP FOREIGN KEY FK_68498DE89395C3F3');
  98.         $this->addSql('ALTER TABLE payment_intents DROP FOREIGN KEY FK_68498DE8538594CA');
  99.         $this->addSql('ALTER TABLE payment_intents_has_status_entries DROP FOREIGN KEY FK_C8766A338BC036E4');
  100.         $this->addSql('ALTER TABLE payment_intents_has_status_entries DROP FOREIGN KEY FK_C8766A3327ECEE9A');
  101.         $this->addSql('ALTER TABLE payment_processors DROP FOREIGN KEY FK_45BADF6C166D1F9C');
  102.         $this->addSql('ALTER TABLE payment_processors DROP FOREIGN KEY FK_45BADF6C320CE2CA');
  103.         $this->addSql('ALTER TABLE payment_processors_payment_methods DROP FOREIGN KEY FK_62B5C441514A7680');
  104.         $this->addSql('ALTER TABLE payment_processors_payment_methods DROP FOREIGN KEY FK_62B5C4415AA1164F');
  105.         $this->addSql('ALTER TABLE sms_intents DROP FOREIGN KEY FK_811A48D88BC036E4');
  106.         $this->addSql('ALTER TABLE sms_intents DROP FOREIGN KEY FK_811A48D8514A7680');
  107.         $this->addSql('ALTER TABLE transactions DROP FOREIGN KEY FK_EAA81A4C538594CA');
  108.         $this->addSql('DROP TABLE api_keys');
  109.         $this->addSql('DROP TABLE classification__category');
  110.         $this->addSql('DROP TABLE classification__collection');
  111.         $this->addSql('DROP TABLE classification__context');
  112.         $this->addSql('DROP TABLE classification__tag');
  113.         $this->addSql('DROP TABLE clients');
  114.         $this->addSql('DROP TABLE credentials');
  115.         $this->addSql('DROP TABLE customer_addresses');
  116.         $this->addSql('DROP TABLE customers');
  117.         $this->addSql('DROP TABLE media__gallery');
  118.         $this->addSql('DROP TABLE media__gallery_item');
  119.         $this->addSql('DROP TABLE media__media');
  120.         $this->addSql('DROP TABLE payment_cards');
  121.         $this->addSql('DROP TABLE payment_intent_events');
  122.         $this->addSql('DROP TABLE payment_intents');
  123.         $this->addSql('DROP TABLE payment_intents_has_status_entries');
  124.         $this->addSql('DROP TABLE payment_methods');
  125.         $this->addSql('DROP TABLE payment_processor_definitions');
  126.         $this->addSql('DROP TABLE payment_processors');
  127.         $this->addSql('DROP TABLE payment_processors_payment_methods');
  128.         $this->addSql('DROP TABLE processor_credentials');
  129.         $this->addSql('DROP TABLE request_logs');
  130.         $this->addSql('DROP TABLE sms_intents');
  131.         $this->addSql('DROP TABLE sonata_user__user');
  132.         $this->addSql('DROP TABLE status_entries');
  133.         $this->addSql('DROP TABLE transactions');
  134.         $this->addSql('DROP TABLE users');
  135.     }
  136. }