<?php
declare(strict_types=1);
namespace DoctrineMigrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
/**
* Auto-generated Migration: Please modify to your needs!
*/
final class Version20220527212549 extends AbstractMigration
{
public function getDescription(): string
{
return 'Initial migration';
}
public function up(Schema $schema): void
{
// this up() migration is auto-generated, please modify it to your needs
$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');
$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');
$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');
$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');
$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');
$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');
$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');
$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');
$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');
$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');
$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');
$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');
$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');
$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');
$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');
$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');
$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');
$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');
$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');
$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');
$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');
$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');
$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');
$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');
$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');
$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');
$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');
$this->addSql('ALTER TABLE api_keys ADD CONSTRAINT FK_9579321F166D1F9C FOREIGN KEY (project_id) REFERENCES clients (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE classification__category ADD CONSTRAINT FK_43629B36727ACA70 FOREIGN KEY (parent_id) REFERENCES classification__category (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE classification__category ADD CONSTRAINT FK_43629B36E25D857E FOREIGN KEY (context) REFERENCES classification__context (id)');
$this->addSql('ALTER TABLE classification__collection ADD CONSTRAINT FK_A406B56AE25D857E FOREIGN KEY (context) REFERENCES classification__context (id)');
$this->addSql('ALTER TABLE classification__tag ADD CONSTRAINT FK_CA57A1C7E25D857E FOREIGN KEY (context) REFERENCES classification__context (id)');
$this->addSql('ALTER TABLE customer_addresses ADD CONSTRAINT FK_C4378D0C9395C3F3 FOREIGN KEY (customer_id) REFERENCES customers (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE customers ADD CONSTRAINT FK_62534E21166D1F9C FOREIGN KEY (project_id) REFERENCES clients (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE media__gallery_item ADD CONSTRAINT FK_3238519A4E7AF8F FOREIGN KEY (gallery_id) REFERENCES media__gallery (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE media__gallery_item ADD CONSTRAINT FK_3238519AEA9FDD75 FOREIGN KEY (media_id) REFERENCES media__media (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE media__media ADD CONSTRAINT FK_5C6DD74E12469DE2 FOREIGN KEY (category_id) REFERENCES classification__category (id) ON DELETE SET NULL');
$this->addSql('ALTER TABLE payment_cards ADD CONSTRAINT FK_538B6E4F9395C3F3 FOREIGN KEY (customer_id) REFERENCES customers (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE payment_intent_events ADD CONSTRAINT FK_482364418BC036E4 FOREIGN KEY (payment_intent_id) REFERENCES payment_intents (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE payment_intents ADD CONSTRAINT FK_68498DE8166D1F9C FOREIGN KEY (project_id) REFERENCES clients (id)');
$this->addSql('ALTER TABLE payment_intents ADD CONSTRAINT FK_68498DE8514A7680 FOREIGN KEY (payment_processor_id) REFERENCES payment_processors (id)');
$this->addSql('ALTER TABLE payment_intents ADD CONSTRAINT FK_68498DE85AA1164F FOREIGN KEY (payment_method_id) REFERENCES payment_methods (id)');
$this->addSql('ALTER TABLE payment_intents ADD CONSTRAINT FK_68498DE82FC0CB0F FOREIGN KEY (transaction_id) REFERENCES transactions (id)');
$this->addSql('ALTER TABLE payment_intents ADD CONSTRAINT FK_68498DE89395C3F3 FOREIGN KEY (customer_id) REFERENCES customers (id) ON DELETE RESTRICT');
$this->addSql('ALTER TABLE payment_intents ADD CONSTRAINT FK_68498DE8538594CA FOREIGN KEY (payment_card_id) REFERENCES payment_cards (id) ON DELETE SET NULL');
$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');
$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');
$this->addSql('ALTER TABLE payment_processors ADD CONSTRAINT FK_45BADF6C166D1F9C FOREIGN KEY (project_id) REFERENCES clients (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE payment_processors ADD CONSTRAINT FK_45BADF6C320CE2CA FOREIGN KEY (processor_credentials_id) REFERENCES processor_credentials (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE payment_processors_payment_methods ADD CONSTRAINT FK_62B5C441514A7680 FOREIGN KEY (payment_processor_id) REFERENCES payment_processors (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE payment_processors_payment_methods ADD CONSTRAINT FK_62B5C4415AA1164F FOREIGN KEY (payment_method_id) REFERENCES payment_methods (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE sms_intents ADD CONSTRAINT FK_811A48D88BC036E4 FOREIGN KEY (payment_intent_id) REFERENCES payment_intents (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE sms_intents ADD CONSTRAINT FK_811A48D8514A7680 FOREIGN KEY (payment_processor_id) REFERENCES payment_processors (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE transactions ADD CONSTRAINT FK_EAA81A4C538594CA FOREIGN KEY (payment_card_id) REFERENCES payment_cards (id) ON DELETE RESTRICT');
$this->addSql('CREATE INDEX payment_intent_created_at ON payment_intents (created_at);');
$this->addSql('CREATE INDEX payment_intent_payment_processor_id_status_created_at ON payment_intents (payment_processor_id, status, created_at);');
$this->addSql('CREATE INDEX payment_intent_payment_project_id_status_created_at ON payment_intents (project_id, status, created_at);');
$this->addSql('CREATE INDEX payment_intents_processor_id_idx ON payment_intents (processor_id);');
$this->addSql('DROP INDEX UNIQ_62534E2119EB6921 ON customers;');
}
public function down(Schema $schema): void
{
// this down() migration is auto-generated, please modify it to your needs
$this->addSql('ALTER TABLE api_keys DROP FOREIGN KEY FK_9579321F166D1F9C');
$this->addSql('ALTER TABLE classification__category DROP FOREIGN KEY FK_43629B36727ACA70');
$this->addSql('ALTER TABLE classification__category DROP FOREIGN KEY FK_43629B36E25D857E');
$this->addSql('ALTER TABLE classification__collection DROP FOREIGN KEY FK_A406B56AE25D857E');
$this->addSql('ALTER TABLE classification__tag DROP FOREIGN KEY FK_CA57A1C7E25D857E');
$this->addSql('ALTER TABLE customer_addresses DROP FOREIGN KEY FK_C4378D0C9395C3F3');
$this->addSql('ALTER TABLE customers DROP FOREIGN KEY FK_62534E21166D1F9C');
$this->addSql('ALTER TABLE media__gallery_item DROP FOREIGN KEY FK_3238519A4E7AF8F');
$this->addSql('ALTER TABLE media__gallery_item DROP FOREIGN KEY FK_3238519AEA9FDD75');
$this->addSql('ALTER TABLE media__media DROP FOREIGN KEY FK_5C6DD74E12469DE2');
$this->addSql('ALTER TABLE payment_cards DROP FOREIGN KEY FK_538B6E4F9395C3F3');
$this->addSql('ALTER TABLE payment_intent_events DROP FOREIGN KEY FK_482364418BC036E4');
$this->addSql('ALTER TABLE payment_intents DROP FOREIGN KEY FK_68498DE8166D1F9C');
$this->addSql('ALTER TABLE payment_intents DROP FOREIGN KEY FK_68498DE8514A7680');
$this->addSql('ALTER TABLE payment_intents DROP FOREIGN KEY FK_68498DE85AA1164F');
$this->addSql('ALTER TABLE payment_intents DROP FOREIGN KEY FK_68498DE82FC0CB0F');
$this->addSql('ALTER TABLE payment_intents DROP FOREIGN KEY FK_68498DE89395C3F3');
$this->addSql('ALTER TABLE payment_intents DROP FOREIGN KEY FK_68498DE8538594CA');
$this->addSql('ALTER TABLE payment_intents_has_status_entries DROP FOREIGN KEY FK_C8766A338BC036E4');
$this->addSql('ALTER TABLE payment_intents_has_status_entries DROP FOREIGN KEY FK_C8766A3327ECEE9A');
$this->addSql('ALTER TABLE payment_processors DROP FOREIGN KEY FK_45BADF6C166D1F9C');
$this->addSql('ALTER TABLE payment_processors DROP FOREIGN KEY FK_45BADF6C320CE2CA');
$this->addSql('ALTER TABLE payment_processors_payment_methods DROP FOREIGN KEY FK_62B5C441514A7680');
$this->addSql('ALTER TABLE payment_processors_payment_methods DROP FOREIGN KEY FK_62B5C4415AA1164F');
$this->addSql('ALTER TABLE sms_intents DROP FOREIGN KEY FK_811A48D88BC036E4');
$this->addSql('ALTER TABLE sms_intents DROP FOREIGN KEY FK_811A48D8514A7680');
$this->addSql('ALTER TABLE transactions DROP FOREIGN KEY FK_EAA81A4C538594CA');
$this->addSql('DROP TABLE api_keys');
$this->addSql('DROP TABLE classification__category');
$this->addSql('DROP TABLE classification__collection');
$this->addSql('DROP TABLE classification__context');
$this->addSql('DROP TABLE classification__tag');
$this->addSql('DROP TABLE clients');
$this->addSql('DROP TABLE credentials');
$this->addSql('DROP TABLE customer_addresses');
$this->addSql('DROP TABLE customers');
$this->addSql('DROP TABLE media__gallery');
$this->addSql('DROP TABLE media__gallery_item');
$this->addSql('DROP TABLE media__media');
$this->addSql('DROP TABLE payment_cards');
$this->addSql('DROP TABLE payment_intent_events');
$this->addSql('DROP TABLE payment_intents');
$this->addSql('DROP TABLE payment_intents_has_status_entries');
$this->addSql('DROP TABLE payment_methods');
$this->addSql('DROP TABLE payment_processor_definitions');
$this->addSql('DROP TABLE payment_processors');
$this->addSql('DROP TABLE payment_processors_payment_methods');
$this->addSql('DROP TABLE processor_credentials');
$this->addSql('DROP TABLE request_logs');
$this->addSql('DROP TABLE sms_intents');
$this->addSql('DROP TABLE sonata_user__user');
$this->addSql('DROP TABLE status_entries');
$this->addSql('DROP TABLE transactions');
$this->addSql('DROP TABLE users');
}
}