<?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 Version20211129103913 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('CREATE TABLE app_tos (id INT AUTO_INCREMENT NOT NULL, content LONGTEXT NOT NULL, last_update DATETIME DEFAULT NULL, id_customer INT NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE author (id INT AUTO_INCREMENT NOT NULL, sql_idc INT NOT NULL, email VARCHAR(255) NOT NULL, google_id VARCHAR(255) NOT NULL, google_full_name VARCHAR(255) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE author_file (author_id INT NOT NULL, file_id INT NOT NULL, INDEX IDX_6870BECFF675F31B (author_id), INDEX IDX_6870BECF93CB796C (file_id), PRIMARY KEY(author_id, file_id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE customer (id INT AUTO_INCREMENT NOT NULL, name VARCHAR(255) NOT NULL, g_customer_id VARCHAR(255) NOT NULL, g_client_id VARCHAR(255) NOT NULL, g_client_secret VARCHAR(255) NOT NULL, g_redirect_uri VARCHAR(2000) NOT NULL, g_token_string VARCHAR(2000) NOT NULL, g_domain VARCHAR(255) NOT NULL, cod_mec VARCHAR(30) NOT NULL, status INT NOT NULL, tos LONGTEXT NOT NULL, id_anagrafica INT DEFAULT NULL, gruppo_gsuite_operatori VARCHAR(255) NOT NULL, gruppo_gsuite_amministratori VARCHAR(255) NOT NULL, config JSON DEFAULT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE file (id INT AUTO_INCREMENT NOT NULL, file_group_id INT NOT NULL, file_versions_id INT DEFAULT NULL, owner_id INT NOT NULL, org_unit_id INT DEFAULT NULL, google_drive_id VARCHAR(255) DEFAULT NULL, data_scansione DATETIME DEFAULT NULL, nomefile VARCHAR(255) NOT NULL, sql_idc INT NOT NULL, disabled TINYINT(1) DEFAULT NULL, INDEX IDX_8C9F36104F0456DA (file_group_id), INDEX IDX_8C9F3610B5EB0BEF (file_versions_id), INDEX IDX_8C9F36107E3C61F9 (owner_id), INDEX IDX_8C9F36108BC224C3 (org_unit_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE file_author (file_id INT NOT NULL, author_id INT NOT NULL, INDEX IDX_5B8FE7793CB796C (file_id), INDEX IDX_5B8FE77F675F31B (author_id), PRIMARY KEY(file_id, author_id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE file_group (id INT AUTO_INCREMENT NOT NULL, org_unit_id INT DEFAULT NULL, data_creazione DATETIME DEFAULT CURRENT_TIMESTAMP, data_originale DATETIME NOT NULL, titolo VARCHAR(255) NOT NULL, sql_idc INT NOT NULL, tags JSON DEFAULT NULL, disabled TINYINT(1) DEFAULT NULL, qr_corrispondenti LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:array)\', INDEX IDX_C743F4F28BC224C3 (org_unit_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE file_versions (id INT AUTO_INCREMENT NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE org_unit (id INT AUTO_INCREMENT NOT NULL, google_id VARCHAR(255) DEFAULT NULL, path VARCHAR(5000) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE owner (id INT AUTO_INCREMENT NOT NULL, sql_idc INT NOT NULL, email VARCHAR(255) NOT NULL, google_id VARCHAR(255) NOT NULL, google_full_name VARCHAR(255) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE permission (id INT AUTO_INCREMENT NOT NULL, email VARCHAR(255) NOT NULL, sql_idc INT NOT NULL, data_creazione DATETIME NOT NULL, data_aggiornamento DATETIME DEFAULT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE permission_file_group (permission_id INT NOT NULL, file_group_id INT NOT NULL, INDEX IDX_83652EAFFED90CCA (permission_id), INDEX IDX_83652EAF4F0456DA (file_group_id), PRIMARY KEY(permission_id, file_group_id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE permission_file (permission_id INT NOT NULL, file_id INT NOT NULL, INDEX IDX_DD51ADB0FED90CCA (permission_id), INDEX IDX_DD51ADB093CB796C (file_id), PRIMARY KEY(permission_id, file_id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE user_consent (id INT AUTO_INCREMENT NOT NULL, email VARCHAR(255) NOT NULL, consent TINYINT(1) DEFAULT NULL, datetime DATETIME DEFAULT NULL, customer_id INT NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('ALTER TABLE author_file ADD CONSTRAINT FK_6870BECFF675F31B FOREIGN KEY (author_id) REFERENCES author (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE author_file ADD CONSTRAINT FK_6870BECF93CB796C FOREIGN KEY (file_id) REFERENCES file (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE file ADD CONSTRAINT FK_8C9F36104F0456DA FOREIGN KEY (file_group_id) REFERENCES file_group (id)');
$this->addSql('ALTER TABLE file ADD CONSTRAINT FK_8C9F3610B5EB0BEF FOREIGN KEY (file_versions_id) REFERENCES file_versions (id)');
$this->addSql('ALTER TABLE file ADD CONSTRAINT FK_8C9F36107E3C61F9 FOREIGN KEY (owner_id) REFERENCES owner (id)');
$this->addSql('ALTER TABLE file ADD CONSTRAINT FK_8C9F36108BC224C3 FOREIGN KEY (org_unit_id) REFERENCES org_unit (id)');
$this->addSql('ALTER TABLE file_author ADD CONSTRAINT FK_5B8FE7793CB796C FOREIGN KEY (file_id) REFERENCES file (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE file_author ADD CONSTRAINT FK_5B8FE77F675F31B FOREIGN KEY (author_id) REFERENCES author (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE file_group ADD CONSTRAINT FK_C743F4F28BC224C3 FOREIGN KEY (org_unit_id) REFERENCES org_unit (id)');
$this->addSql('ALTER TABLE permission_file_group ADD CONSTRAINT FK_83652EAFFED90CCA FOREIGN KEY (permission_id) REFERENCES permission (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE permission_file_group ADD CONSTRAINT FK_83652EAF4F0456DA FOREIGN KEY (file_group_id) REFERENCES file_group (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE permission_file ADD CONSTRAINT FK_DD51ADB0FED90CCA FOREIGN KEY (permission_id) REFERENCES permission (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE permission_file ADD CONSTRAINT FK_DD51ADB093CB796C FOREIGN KEY (file_id) REFERENCES file (id) ON DELETE CASCADE');
}
public function down(Schema $schema): void
{
// this down() migration is auto-generated, please modify it to your needs
$this->addSql('ALTER TABLE author_file DROP FOREIGN KEY FK_6870BECFF675F31B');
$this->addSql('ALTER TABLE file_author DROP FOREIGN KEY FK_5B8FE77F675F31B');
$this->addSql('ALTER TABLE author_file DROP FOREIGN KEY FK_6870BECF93CB796C');
$this->addSql('ALTER TABLE file_author DROP FOREIGN KEY FK_5B8FE7793CB796C');
$this->addSql('ALTER TABLE permission_file DROP FOREIGN KEY FK_DD51ADB093CB796C');
$this->addSql('ALTER TABLE file DROP FOREIGN KEY FK_8C9F36104F0456DA');
$this->addSql('ALTER TABLE permission_file_group DROP FOREIGN KEY FK_83652EAF4F0456DA');
$this->addSql('ALTER TABLE file DROP FOREIGN KEY FK_8C9F3610B5EB0BEF');
$this->addSql('ALTER TABLE file DROP FOREIGN KEY FK_8C9F36108BC224C3');
$this->addSql('ALTER TABLE file_group DROP FOREIGN KEY FK_C743F4F28BC224C3');
$this->addSql('ALTER TABLE file DROP FOREIGN KEY FK_8C9F36107E3C61F9');
$this->addSql('ALTER TABLE permission_file_group DROP FOREIGN KEY FK_83652EAFFED90CCA');
$this->addSql('ALTER TABLE permission_file DROP FOREIGN KEY FK_DD51ADB0FED90CCA');
$this->addSql('DROP TABLE app_tos');
$this->addSql('DROP TABLE author');
$this->addSql('DROP TABLE author_file');
$this->addSql('DROP TABLE customer');
$this->addSql('DROP TABLE file');
$this->addSql('DROP TABLE file_author');
$this->addSql('DROP TABLE file_group');
$this->addSql('DROP TABLE file_versions');
$this->addSql('DROP TABLE org_unit');
$this->addSql('DROP TABLE owner');
$this->addSql('DROP TABLE permission');
$this->addSql('DROP TABLE permission_file_group');
$this->addSql('DROP TABLE permission_file');
$this->addSql('DROP TABLE user_consent');
}
}