<?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 Version20250416232546 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('ALTER TABLE teams DROP FOREIGN KEY teams_city_id_foreign');
$this->addSql('ALTER TABLE accounts DROP FOREIGN KEY accounts_client_id_foreign');
$this->addSql('ALTER TABLE roles DROP FOREIGN KEY roles_client_id_foreign');
$this->addSql('ALTER TABLE permissions DROP FOREIGN KEY permissions_permission_group_id_foreign');
$this->addSql('ALTER TABLE model_has_permissions DROP FOREIGN KEY model_has_permissions_permission_id_foreign');
$this->addSql('ALTER TABLE role_has_permissions DROP FOREIGN KEY role_has_permissions_permission_id_foreign');
$this->addSql('ALTER TABLE model_has_roles DROP FOREIGN KEY model_has_roles_role_id_foreign');
$this->addSql('ALTER TABLE role_has_permissions DROP FOREIGN KEY role_has_permissions_role_id_foreign');
$this->addSql('ALTER TABLE team_invitations DROP FOREIGN KEY team_invitations_team_id_foreign');
$this->addSql('ALTER TABLE user_team DROP FOREIGN KEY user_team_team_id_foreign');
$this->addSql('ALTER TABLE telescope_entries_tags DROP FOREIGN KEY telescope_entries_tags_entry_uuid_foreign');
$this->addSql('DROP TABLE accounts');
$this->addSql('DROP TABLE admins');
$this->addSql('DROP TABLE cache');
$this->addSql('DROP TABLE cache_locks');
$this->addSql('DROP TABLE cities');
$this->addSql('DROP TABLE clients');
$this->addSql('DROP TABLE failed_jobs');
$this->addSql('DROP TABLE job_batches');
$this->addSql('DROP TABLE jobs');
$this->addSql('DROP TABLE media');
$this->addSql('DROP TABLE migrations');
$this->addSql('DROP TABLE model_has_permissions');
$this->addSql('DROP TABLE model_has_roles');
$this->addSql('DROP TABLE oauth_access_tokens');
$this->addSql('DROP TABLE oauth_auth_codes');
$this->addSql('DROP TABLE oauth_clients');
$this->addSql('DROP TABLE oauth_personal_access_clients');
$this->addSql('DROP TABLE oauth_refresh_tokens');
$this->addSql('DROP TABLE password_reset_tokens');
$this->addSql('DROP TABLE permission_groups');
$this->addSql('DROP TABLE permissions');
$this->addSql('DROP TABLE role_has_permissions');
$this->addSql('DROP TABLE roles');
$this->addSql('DROP TABLE sessions');
$this->addSql('DROP TABLE team_invitations');
$this->addSql('DROP TABLE teams');
$this->addSql('DROP TABLE telescope_entries');
$this->addSql('DROP TABLE telescope_entries_tags');
$this->addSql('DROP TABLE telescope_monitoring');
$this->addSql('DROP TABLE user_invoices');
$this->addSql('DROP TABLE user_team');
$this->addSql('ALTER TABLE matche_invoice_table CHANGE type type ENUM(\'WALLET\', \'CREDITCARD\'), CHANGE status status ENUM(\'PAID\', \'PENDING\', \'CANCELLED\')');
$this->addSql('DROP INDEX notifications_notifiable_type_notifiable_id_index ON notifications');
$this->addSql('DROP INDEX notifications_sender_type_sender_id_index ON notifications');
$this->addSql('DROP INDEX notifications_subject_type_subject_id_index ON notifications');
$this->addSql('ALTER TABLE notifications DROP notifiable_type, DROP notifiable_id, DROP sender_type, DROP sender_id, DROP subject_type, DROP subject_id, DROP data, DROP read_at, DROP created_at, DROP updated_at');
$this->addSql('ALTER TABLE notifications ADD CONSTRAINT FK_6000B0D3A76ED395 FOREIGN KEY (user_id) REFERENCES user_table (id)');
$this->addSql('ALTER TABLE notifications ADD CONSTRAINT FK_6000B0D39B6B5FBA FOREIGN KEY (account_id) REFERENCES account_table (id)');
$this->addSql('CREATE INDEX IDX_6000B0D3A76ED395 ON notifications (user_id)');
$this->addSql('CREATE INDEX IDX_6000B0D39B6B5FBA ON notifications (account_id)');
$this->addSql('DROP INDEX transactions_table_transactionable_type_transactionable_id_index ON transactions_table');
$this->addSql('ALTER TABLE transactions_table DROP updated, DROP transactionable_type, DROP transactionable_id, CHANGE type type ENUM(\'DEPOSIT\',\'REFUND\', \'WITHDRAW\', \'PAYMENT\',\'TRANSFER\')');
$this->addSql('ALTER TABLE user_table DROP email_verified_at, DROP remember_token, DROP created_at, DROP updated_at');
}
public function down(Schema $schema): void
{
// this down() migration is auto-generated, please modify it to your needs
$this->addSql('CREATE TABLE accounts (id BIGINT UNSIGNED AUTO_INCREMENT NOT NULL, client_id BIGINT UNSIGNED NOT NULL, name VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, email VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, email_verified_at DATETIME DEFAULT NULL, password VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, remember_token VARCHAR(100) CHARACTER SET utf8mb4 DEFAULT NULL COLLATE `utf8mb4_unicode_ci`, enabled TINYINT(1) DEFAULT 1 NOT NULL, is_super TINYINT(1) DEFAULT 0 NOT NULL, created_at DATETIME DEFAULT NULL, updated_at DATETIME DEFAULT NULL, INDEX accounts_client_id_foreign (client_id), UNIQUE INDEX accounts_email_unique (email), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB COMMENT = \'\' ');
$this->addSql('CREATE TABLE admins (id BIGINT UNSIGNED AUTO_INCREMENT NOT NULL, name VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, email VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, email_verified_at DATETIME DEFAULT NULL, password VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, remember_token VARCHAR(100) CHARACTER SET utf8mb4 DEFAULT NULL COLLATE `utf8mb4_unicode_ci`, enabled TINYINT(1) DEFAULT 1 NOT NULL, is_super TINYINT(1) DEFAULT 0 NOT NULL, created_at DATETIME DEFAULT NULL, updated_at DATETIME DEFAULT NULL, UNIQUE INDEX admins_email_unique (email), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB COMMENT = \'\' ');
$this->addSql('CREATE TABLE cache (`key` VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, value MEDIUMTEXT CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, expiration INT NOT NULL, PRIMARY KEY(`key`)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB COMMENT = \'\' ');
$this->addSql('CREATE TABLE cache_locks (`key` VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, owner VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, expiration INT NOT NULL, PRIMARY KEY(`key`)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB COMMENT = \'\' ');
$this->addSql('CREATE TABLE cities (id BIGINT UNSIGNED AUTO_INCREMENT NOT NULL, name TEXT CHARACTER SET utf8mb4 DEFAULT NULL COLLATE `utf8mb4_unicode_ci`, latitude NUMERIC(10, 7) NOT NULL, longitude NUMERIC(10, 7) NOT NULL, created_at DATETIME DEFAULT NULL, updated_at DATETIME DEFAULT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB COMMENT = \'\' ');
$this->addSql('CREATE TABLE clients (id BIGINT UNSIGNED AUTO_INCREMENT NOT NULL, name VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, email VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, phone VARCHAR(255) CHARACTER SET utf8mb4 DEFAULT NULL COLLATE `utf8mb4_unicode_ci`, address TEXT CHARACTER SET utf8mb4 DEFAULT NULL COLLATE `utf8mb4_unicode_ci`, ice VARCHAR(255) CHARACTER SET utf8mb4 DEFAULT NULL COLLATE `utf8mb4_unicode_ci`, enabled TINYINT(1) DEFAULT 1 NOT NULL, created_at DATETIME DEFAULT NULL, updated_at DATETIME DEFAULT NULL, UNIQUE INDEX clients_email_unique (email), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB COMMENT = \'\' ');
$this->addSql('CREATE TABLE failed_jobs (id BIGINT UNSIGNED AUTO_INCREMENT NOT NULL, uuid VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, connection TEXT CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, queue TEXT CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, payload LONGTEXT CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, exception LONGTEXT CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, failed_at DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL, UNIQUE INDEX failed_jobs_uuid_unique (uuid), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB COMMENT = \'\' ');
$this->addSql('CREATE TABLE job_batches (id VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, name VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, total_jobs INT NOT NULL, pending_jobs INT NOT NULL, failed_jobs INT NOT NULL, failed_job_ids LONGTEXT CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, options MEDIUMTEXT CHARACTER SET utf8mb4 DEFAULT NULL COLLATE `utf8mb4_unicode_ci`, cancelled_at INT DEFAULT NULL, created_at INT NOT NULL, finished_at INT DEFAULT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB COMMENT = \'\' ');
$this->addSql('CREATE TABLE jobs (id BIGINT UNSIGNED AUTO_INCREMENT NOT NULL, queue VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, payload LONGTEXT CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, attempts TINYINT(1) NOT NULL, reserved_at INT UNSIGNED DEFAULT NULL, available_at INT UNSIGNED NOT NULL, created_at INT UNSIGNED NOT NULL, INDEX jobs_queue_index (queue), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB COMMENT = \'\' ');
$this->addSql('CREATE TABLE media (id BIGINT UNSIGNED AUTO_INCREMENT NOT NULL, model_type VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, model_id BIGINT UNSIGNED NOT NULL, uuid CHAR(36) CHARACTER SET utf8mb4 DEFAULT NULL COLLATE `utf8mb4_unicode_ci`, collection_name VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, name VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, file_name VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, mime_type VARCHAR(255) CHARACTER SET utf8mb4 DEFAULT NULL COLLATE `utf8mb4_unicode_ci`, disk VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, conversions_disk VARCHAR(255) CHARACTER SET utf8mb4 DEFAULT NULL COLLATE `utf8mb4_unicode_ci`, size BIGINT UNSIGNED NOT NULL, manipulations JSON NOT NULL, custom_properties JSON NOT NULL, generated_conversions JSON NOT NULL, responsive_images JSON NOT NULL, order_column INT UNSIGNED DEFAULT NULL, created_at DATETIME DEFAULT NULL, updated_at DATETIME DEFAULT NULL, INDEX media_model_type_model_id_index (model_type, model_id), INDEX media_order_column_index (order_column), UNIQUE INDEX media_uuid_unique (uuid), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB COMMENT = \'\' ');
$this->addSql('CREATE TABLE migrations (id INT UNSIGNED AUTO_INCREMENT NOT NULL, migration VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, batch INT NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB COMMENT = \'\' ');
$this->addSql('CREATE TABLE model_has_permissions (permission_id BIGINT UNSIGNED NOT NULL, model_type VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, model_id BIGINT UNSIGNED NOT NULL, INDEX model_has_permissions_model_id_model_type_index (model_id, model_type), INDEX IDX_6B22422AFED90CCA (permission_id), PRIMARY KEY(permission_id, model_id, model_type)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB COMMENT = \'\' ');
$this->addSql('CREATE TABLE model_has_roles (role_id BIGINT UNSIGNED NOT NULL, model_type VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, model_id BIGINT UNSIGNED NOT NULL, INDEX model_has_roles_model_id_model_type_index (model_id, model_type), INDEX IDX_747E57EAD60322AC (role_id), PRIMARY KEY(role_id, model_id, model_type)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB COMMENT = \'\' ');
$this->addSql('CREATE TABLE oauth_access_tokens (id VARCHAR(100) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, user_id BIGINT UNSIGNED DEFAULT NULL, client_id CHAR(36) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, name VARCHAR(255) CHARACTER SET utf8mb4 DEFAULT NULL COLLATE `utf8mb4_unicode_ci`, scopes TEXT CHARACTER SET utf8mb4 DEFAULT NULL COLLATE `utf8mb4_unicode_ci`, revoked TINYINT(1) NOT NULL, created_at DATETIME DEFAULT NULL, updated_at DATETIME DEFAULT NULL, expires_at DATETIME DEFAULT NULL, INDEX oauth_access_tokens_user_id_index (user_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB COMMENT = \'\' ');
$this->addSql('CREATE TABLE oauth_auth_codes (id VARCHAR(100) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, user_id BIGINT UNSIGNED NOT NULL, client_id CHAR(36) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, scopes TEXT CHARACTER SET utf8mb4 DEFAULT NULL COLLATE `utf8mb4_unicode_ci`, revoked TINYINT(1) NOT NULL, expires_at DATETIME DEFAULT NULL, INDEX oauth_auth_codes_user_id_index (user_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB COMMENT = \'\' ');
$this->addSql('CREATE TABLE oauth_clients (id CHAR(36) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, user_id BIGINT UNSIGNED DEFAULT NULL, name VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, secret VARCHAR(100) CHARACTER SET utf8mb4 DEFAULT NULL COLLATE `utf8mb4_unicode_ci`, provider VARCHAR(255) CHARACTER SET utf8mb4 DEFAULT NULL COLLATE `utf8mb4_unicode_ci`, redirect TEXT CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, personal_access_client TINYINT(1) NOT NULL, password_client TINYINT(1) NOT NULL, revoked TINYINT(1) NOT NULL, created_at DATETIME DEFAULT NULL, updated_at DATETIME DEFAULT NULL, INDEX oauth_clients_user_id_index (user_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB COMMENT = \'\' ');
$this->addSql('CREATE TABLE oauth_personal_access_clients (id BIGINT UNSIGNED AUTO_INCREMENT NOT NULL, client_id CHAR(36) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, created_at DATETIME DEFAULT NULL, updated_at DATETIME DEFAULT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB COMMENT = \'\' ');
$this->addSql('CREATE TABLE oauth_refresh_tokens (id VARCHAR(100) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, access_token_id VARCHAR(100) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, revoked TINYINT(1) NOT NULL, expires_at DATETIME DEFAULT NULL, INDEX oauth_refresh_tokens_access_token_id_index (access_token_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB COMMENT = \'\' ');
$this->addSql('CREATE TABLE password_reset_tokens (email VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, token VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, created_at DATETIME DEFAULT NULL, PRIMARY KEY(email)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB COMMENT = \'\' ');
$this->addSql('CREATE TABLE permission_groups (id BIGINT UNSIGNED AUTO_INCREMENT NOT NULL, name VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, guard_name VARCHAR(255) CHARACTER SET utf8mb4 DEFAULT \'web\' NOT NULL COLLATE `utf8mb4_unicode_ci`, created_at DATETIME DEFAULT NULL, updated_at DATETIME DEFAULT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB COMMENT = \'\' ');
$this->addSql('CREATE TABLE permissions (id BIGINT UNSIGNED AUTO_INCREMENT NOT NULL, permission_group_id BIGINT UNSIGNED DEFAULT NULL, name VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, display_name VARCHAR(255) CHARACTER SET utf8mb4 DEFAULT NULL COLLATE `utf8mb4_unicode_ci`, guard_name VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, created_at DATETIME DEFAULT NULL, updated_at DATETIME DEFAULT NULL, UNIQUE INDEX permissions_name_guard_name_unique (name, guard_name), INDEX permissions_permission_group_id_foreign (permission_group_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB COMMENT = \'\' ');
$this->addSql('CREATE TABLE role_has_permissions (permission_id BIGINT UNSIGNED NOT NULL, role_id BIGINT UNSIGNED NOT NULL, INDEX role_has_permissions_role_id_foreign (role_id), INDEX IDX_8BDE50C2FED90CCA (permission_id), PRIMARY KEY(permission_id, role_id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB COMMENT = \'\' ');
$this->addSql('CREATE TABLE roles (id BIGINT UNSIGNED AUTO_INCREMENT NOT NULL, client_id BIGINT UNSIGNED DEFAULT NULL, name VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, guard_name VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, created_at DATETIME DEFAULT NULL, updated_at DATETIME DEFAULT NULL, INDEX roles_client_id_foreign (client_id), UNIQUE INDEX roles_name_guard_name_unique (name, guard_name), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB COMMENT = \'\' ');
$this->addSql('CREATE TABLE sessions (id VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, user_id BIGINT UNSIGNED DEFAULT NULL, ip_address VARCHAR(45) CHARACTER SET utf8mb4 DEFAULT NULL COLLATE `utf8mb4_unicode_ci`, user_agent TEXT CHARACTER SET utf8mb4 DEFAULT NULL COLLATE `utf8mb4_unicode_ci`, payload LONGTEXT CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, last_activity INT NOT NULL, INDEX sessions_last_activity_index (last_activity), INDEX sessions_user_id_index (user_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB COMMENT = \'\' ');
$this->addSql('CREATE TABLE team_invitations (id BIGINT UNSIGNED AUTO_INCREMENT NOT NULL, team_id BIGINT UNSIGNED NOT NULL, player_id INT NOT NULL, status VARCHAR(255) CHARACTER SET utf8mb4 DEFAULT \'pending\' NOT NULL COLLATE `utf8mb4_unicode_ci`, initiator VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, position VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, message VARCHAR(255) CHARACTER SET utf8mb4 DEFAULT NULL COLLATE `utf8mb4_unicode_ci`, created_at DATETIME DEFAULT NULL, updated_at DATETIME DEFAULT NULL, INDEX team_invitations_player_id_foreign (player_id), INDEX team_invitations_team_id_foreign (team_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB COMMENT = \'\' ');
$this->addSql('CREATE TABLE teams (id BIGINT UNSIGNED AUTO_INCREMENT NOT NULL, captain_id INT NOT NULL, city_id BIGINT UNSIGNED NOT NULL, name VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, code VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, logo VARCHAR(255) CHARACTER SET utf8mb4 DEFAULT NULL COLLATE `utf8mb4_unicode_ci`, t_shirt_color VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, team_main_type VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, team_types JSON DEFAULT NULL, status VARCHAR(255) CHARACTER SET utf8mb4 DEFAULT \'pending\' NOT NULL COLLATE `utf8mb4_unicode_ci`, created_at DATETIME DEFAULT NULL, updated_at DATETIME DEFAULT NULL, INDEX teams_captain_id_foreign (captain_id), INDEX teams_city_id_foreign (city_id), UNIQUE INDEX teams_code_unique (code), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB COMMENT = \'\' ');
$this->addSql('CREATE TABLE telescope_entries (sequence BIGINT UNSIGNED AUTO_INCREMENT NOT NULL, uuid CHAR(36) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, batch_id CHAR(36) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, family_hash VARCHAR(255) CHARACTER SET utf8mb4 DEFAULT NULL COLLATE `utf8mb4_unicode_ci`, should_display_on_index TINYINT(1) DEFAULT 1 NOT NULL, type VARCHAR(20) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, content LONGTEXT CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, created_at DATETIME DEFAULT NULL, INDEX telescope_entries_batch_id_index (batch_id), INDEX telescope_entries_created_at_index (created_at), INDEX telescope_entries_family_hash_index (family_hash), INDEX telescope_entries_type_should_display_on_index_index (type, should_display_on_index), UNIQUE INDEX telescope_entries_uuid_unique (uuid), PRIMARY KEY(sequence)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB COMMENT = \'\' ');
$this->addSql('CREATE TABLE telescope_entries_tags (entry_uuid CHAR(36) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, tag VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, INDEX telescope_entries_tags_tag_index (tag), INDEX IDX_30F14662755D28B5 (entry_uuid), PRIMARY KEY(entry_uuid, tag)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB COMMENT = \'\' ');
$this->addSql('CREATE TABLE telescope_monitoring (tag VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, PRIMARY KEY(tag)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB COMMENT = \'\' ');
$this->addSql('CREATE TABLE user_invoices (id BIGINT UNSIGNED AUTO_INCREMENT NOT NULL, user_id INT NOT NULL, amount NUMERIC(10, 2) NOT NULL, currency VARCHAR(255) CHARACTER SET utf8mb4 DEFAULT \'MAD\' NOT NULL COLLATE `utf8mb4_unicode_ci`, status VARCHAR(255) CHARACTER SET utf8mb4 DEFAULT \'pending\' NOT NULL COLLATE `utf8mb4_unicode_ci`, invoiceable_type VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, invoiceable_id BIGINT UNSIGNED NOT NULL, type VARCHAR(255) CHARACTER SET utf8mb4 DEFAULT NULL COLLATE `utf8mb4_unicode_ci`, description VARCHAR(255) CHARACTER SET utf8mb4 DEFAULT NULL COLLATE `utf8mb4_unicode_ci`, invoice_number VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, created_at DATETIME DEFAULT NULL, updated_at DATETIME DEFAULT NULL, UNIQUE INDEX user_invoices_invoice_number_unique (invoice_number), INDEX user_invoices_invoiceable_type_invoiceable_id_index (invoiceable_type, invoiceable_id), INDEX user_invoices_user_id_foreign (user_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB COMMENT = \'\' ');
$this->addSql('CREATE TABLE user_team (id BIGINT UNSIGNED AUTO_INCREMENT NOT NULL, user_id INT NOT NULL, team_id BIGINT UNSIGNED NOT NULL, position VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, created_at DATETIME DEFAULT NULL, updated_at DATETIME DEFAULT NULL, INDEX user_team_team_id_foreign (team_id), INDEX user_team_user_id_foreign (user_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB COMMENT = \'\' ');
$this->addSql('ALTER TABLE accounts ADD CONSTRAINT accounts_client_id_foreign FOREIGN KEY (client_id) REFERENCES clients (id) ON UPDATE NO ACTION ON DELETE CASCADE');
$this->addSql('ALTER TABLE model_has_permissions ADD CONSTRAINT model_has_permissions_permission_id_foreign FOREIGN KEY (permission_id) REFERENCES permissions (id) ON UPDATE NO ACTION ON DELETE CASCADE');
$this->addSql('ALTER TABLE model_has_roles ADD CONSTRAINT model_has_roles_role_id_foreign FOREIGN KEY (role_id) REFERENCES roles (id) ON UPDATE NO ACTION ON DELETE CASCADE');
$this->addSql('ALTER TABLE permissions ADD CONSTRAINT permissions_permission_group_id_foreign FOREIGN KEY (permission_group_id) REFERENCES permission_groups (id) ON UPDATE NO ACTION ON DELETE SET NULL');
$this->addSql('ALTER TABLE role_has_permissions ADD CONSTRAINT role_has_permissions_permission_id_foreign FOREIGN KEY (permission_id) REFERENCES permissions (id) ON UPDATE NO ACTION ON DELETE CASCADE');
$this->addSql('ALTER TABLE role_has_permissions ADD CONSTRAINT role_has_permissions_role_id_foreign FOREIGN KEY (role_id) REFERENCES roles (id) ON UPDATE NO ACTION ON DELETE CASCADE');
$this->addSql('ALTER TABLE roles ADD CONSTRAINT roles_client_id_foreign FOREIGN KEY (client_id) REFERENCES clients (id) ON UPDATE NO ACTION ON DELETE CASCADE');
$this->addSql('ALTER TABLE team_invitations ADD CONSTRAINT team_invitations_player_id_foreign FOREIGN KEY (player_id) REFERENCES user_table (id) ON UPDATE NO ACTION ON DELETE CASCADE');
$this->addSql('ALTER TABLE team_invitations ADD CONSTRAINT team_invitations_team_id_foreign FOREIGN KEY (team_id) REFERENCES teams (id) ON UPDATE NO ACTION ON DELETE CASCADE');
$this->addSql('ALTER TABLE teams ADD CONSTRAINT teams_captain_id_foreign FOREIGN KEY (captain_id) REFERENCES user_table (id) ON UPDATE NO ACTION ON DELETE CASCADE');
$this->addSql('ALTER TABLE teams ADD CONSTRAINT teams_city_id_foreign FOREIGN KEY (city_id) REFERENCES cities (id) ON UPDATE NO ACTION ON DELETE CASCADE');
$this->addSql('ALTER TABLE telescope_entries_tags ADD CONSTRAINT telescope_entries_tags_entry_uuid_foreign FOREIGN KEY (entry_uuid) REFERENCES telescope_entries (uuid) ON UPDATE NO ACTION ON DELETE CASCADE');
$this->addSql('ALTER TABLE user_invoices ADD CONSTRAINT user_invoices_user_id_foreign FOREIGN KEY (user_id) REFERENCES user_table (id) ON UPDATE NO ACTION ON DELETE CASCADE');
$this->addSql('ALTER TABLE user_team ADD CONSTRAINT user_team_team_id_foreign FOREIGN KEY (team_id) REFERENCES teams (id) ON UPDATE NO ACTION ON DELETE CASCADE');
$this->addSql('ALTER TABLE user_team ADD CONSTRAINT user_team_user_id_foreign FOREIGN KEY (user_id) REFERENCES user_table (id) ON UPDATE NO ACTION ON DELETE CASCADE');
$this->addSql('ALTER TABLE matche_invoice_table CHANGE type type VARCHAR(255) CHARACTER SET utf8mb4 DEFAULT NULL COLLATE `utf8mb4_unicode_ci`, CHANGE status status VARCHAR(255) CHARACTER SET utf8mb4 DEFAULT NULL COLLATE `utf8mb4_unicode_ci`');
$this->addSql('ALTER TABLE notifications DROP FOREIGN KEY FK_6000B0D3A76ED395');
$this->addSql('ALTER TABLE notifications DROP FOREIGN KEY FK_6000B0D39B6B5FBA');
$this->addSql('DROP INDEX IDX_6000B0D3A76ED395 ON notifications');
$this->addSql('DROP INDEX IDX_6000B0D39B6B5FBA ON notifications');
$this->addSql('ALTER TABLE notifications ADD notifiable_type VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, ADD notifiable_id BIGINT UNSIGNED NOT NULL, ADD sender_type VARCHAR(255) CHARACTER SET utf8mb4 DEFAULT NULL COLLATE `utf8mb4_unicode_ci`, ADD sender_id BIGINT UNSIGNED DEFAULT NULL, ADD subject_type VARCHAR(255) CHARACTER SET utf8mb4 DEFAULT NULL COLLATE `utf8mb4_unicode_ci`, ADD subject_id BIGINT UNSIGNED DEFAULT NULL, ADD data TEXT CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, ADD read_at DATETIME DEFAULT NULL, ADD created_at DATETIME DEFAULT NULL, ADD updated_at DATETIME DEFAULT NULL');
$this->addSql('CREATE INDEX notifications_notifiable_type_notifiable_id_index ON notifications (notifiable_type, notifiable_id)');
$this->addSql('CREATE INDEX notifications_sender_type_sender_id_index ON notifications (sender_type, sender_id)');
$this->addSql('CREATE INDEX notifications_subject_type_subject_id_index ON notifications (subject_type, subject_id)');
$this->addSql('ALTER TABLE transactions_table ADD updated DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL, ADD transactionable_type VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, ADD transactionable_id BIGINT UNSIGNED NOT NULL, CHANGE type type VARCHAR(255) CHARACTER SET utf8mb4 DEFAULT NULL COLLATE `utf8mb4_unicode_ci`');
$this->addSql('CREATE INDEX transactions_table_transactionable_type_transactionable_id_index ON transactions_table (transactionable_type, transactionable_id)');
$this->addSql('ALTER TABLE user_table ADD email_verified_at DATETIME DEFAULT NULL, ADD remember_token VARCHAR(100) CHARACTER SET utf8mb4 DEFAULT NULL COLLATE `utf8mb4_unicode_ci`, ADD created_at DATETIME DEFAULT NULL, ADD updated_at DATETIME DEFAULT NULL');
}
}