<?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 Version20240210183942 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 documento (uid CHAR(36) NOT NULL COMMENT \'(DC2Type:uuid)\', issuer_id INT DEFAULT NULL, client_id INT DEFAULT NULL, type VARCHAR(255) NOT NULL, issuer_name VARCHAR(255) NOT NULL, issuer_address VARCHAR(255) NOT NULL, issuer_address2 VARCHAR(255) NOT NULL, issuer_zip VARCHAR(255) NOT NULL, issuer_city VARCHAR(255) NOT NULL, issuer_state VARCHAR(255) NOT NULL, issuer_country VARCHAR(255) NOT NULL, issuer_vat VARCHAR(255) NOT NULL, issuer_fiscal_code VARCHAR(255) NOT NULL, client_name VARCHAR(255) NOT NULL, client_address VARCHAR(255) NOT NULL, client_address2 VARCHAR(255) NOT NULL, client_zip VARCHAR(255) NOT NULL, client_city VARCHAR(255) NOT NULL, client_state VARCHAR(255) NOT NULL, client_country VARCHAR(255) NOT NULL, client_vat VARCHAR(255) NOT NULL, client_fiscal_code VARCHAR(255) NOT NULL, number VARCHAR(255) NOT NULL, sectional VARCHAR(255) NOT NULL, date DATE NOT NULL, next_due_date DATE DEFAULT NULL, subtotal DOUBLE PRECISION NOT NULL, total_vat DOUBLE PRECISION NOT NULL, total DOUBLE PRECISION NOT NULL, social_security_contribution TINYINT(1) NOT NULL, social_security_contribution_rate DOUBLE PRECISION DEFAULT NULL, social_security_contribution_subtotal DOUBLE PRECISION DEFAULT NULL, social_security_contribution_amount DOUBLE PRECISION DEFAULT NULL, withholding TINYINT(1) NOT NULL, withholding_type VARCHAR(255) DEFAULT NULL, withholding_rate DOUBLE PRECISION DEFAULT NULL, withholding_subtotal DOUBLE PRECISION DEFAULT NULL, withholding_amount DOUBLE PRECISION DEFAULT NULL, pension_fund TINYINT(1) NOT NULL, pension_fund_type VARCHAR(255) DEFAULT NULL, pension_fund_rate DOUBLE PRECISION DEFAULT NULL, pension_fund_subtotal DOUBLE PRECISION DEFAULT NULL, pension_fund_amount DOUBLE PRECISION DEFAULT NULL, reason VARCHAR(255) DEFAULT NULL, internal_reason VARCHAR(255) DEFAULT NULL, notes LONGTEXT DEFAULT NULL, internal_notes LONGTEXT DEFAULT NULL, INDEX IDX_B6B12EC7BB9D6FEE (issuer_id), INDEX IDX_B6B12EC719EB6921 (client_id), PRIMARY KEY(uid)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE documento_riga (uid CHAR(36) NOT NULL COMMENT \'(DC2Type:uuid)\', document_id CHAR(36) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', code VARCHAR(255) NOT NULL, name VARCHAR(255) NOT NULL, um VARCHAR(255) NOT NULL, quantity DOUBLE PRECISION NOT NULL, description VARCHAR(255) NOT NULL, unit_price DOUBLE PRECISION NOT NULL, total_price DOUBLE PRECISION NOT NULL, vat_rate DOUBLE PRECISION NOT NULL, vat_description VARCHAR(255) NOT NULL, INDEX IDX_8783EACEC33F7837 (document_id), PRIMARY KEY(uid)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE documento_scadenza (uid CHAR(36) NOT NULL COMMENT \'(DC2Type:uuid)\', document_id CHAR(36) DEFAULT NULL COMMENT \'(DC2Type:uuid)\', due_date DATE NOT NULL, amount DOUBLE PRECISION NOT NULL, method VARCHAR(255) NOT NULL, payment_date DATE DEFAULT NULL, INDEX IDX_A766DC40C33F7837 (document_id), PRIMARY KEY(uid)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('ALTER TABLE documento ADD CONSTRAINT FK_B6B12EC7BB9D6FEE FOREIGN KEY (issuer_id) REFERENCES user (id)');
$this->addSql('ALTER TABLE documento ADD CONSTRAINT FK_B6B12EC719EB6921 FOREIGN KEY (client_id) REFERENCES clienti (id)');
$this->addSql('ALTER TABLE documento_riga ADD CONSTRAINT FK_8783EACEC33F7837 FOREIGN KEY (document_id) REFERENCES documento (uid)');
$this->addSql('ALTER TABLE documento_scadenza ADD CONSTRAINT FK_A766DC40C33F7837 FOREIGN KEY (document_id) REFERENCES documento (uid)');
}
public function down(Schema $schema): void
{
// this down() migration is auto-generated, please modify it to your needs
$this->addSql('ALTER TABLE documento DROP FOREIGN KEY FK_B6B12EC7BB9D6FEE');
$this->addSql('ALTER TABLE documento DROP FOREIGN KEY FK_B6B12EC719EB6921');
$this->addSql('ALTER TABLE documento_riga DROP FOREIGN KEY FK_8783EACEC33F7837');
$this->addSql('ALTER TABLE documento_scadenza DROP FOREIGN KEY FK_A766DC40C33F7837');
$this->addSql('DROP TABLE documento');
$this->addSql('DROP TABLE documento_riga');
$this->addSql('DROP TABLE documento_scadenza');
}
}