Easy_solution/migrations/Version20250417135951.php

237 lines
10 KiB
PHP

<?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 Version20250417135951 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(<<<'SQL'
CREATE TABLE actions (id SERIAL NOT NULL, users_id INT DEFAULT NULL, action_type VARCHAR(255) NOT NULL, date TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT CURRENT_TIMESTAMP NOT NULL, PRIMARY KEY(id))
SQL);
$this->addSql(<<<'SQL'
CREATE UNIQUE INDEX UNIQ_548F1EF67B3B43D ON actions (users_id)
SQL);
$this->addSql(<<<'SQL'
COMMENT ON COLUMN actions.date IS '(DC2Type:datetime_immutable)'
SQL);
$this->addSql(<<<'SQL'
CREATE TABLE apps (id SERIAL NOT NULL, name VARCHAR(255) NOT NULL, sub_domain VARCHAR(255) NOT NULL, logo_url VARCHAR(255) NOT NULL, description VARCHAR(255) NOT NULL, title VARCHAR(255) NOT NULL, is_active BOOLEAN DEFAULT true NOT NULL, PRIMARY KEY(id))
SQL);
$this->addSql(<<<'SQL'
CREATE TABLE apps_organizations (apps_id INT NOT NULL, organizations_id INT NOT NULL, PRIMARY KEY(apps_id, organizations_id))
SQL);
$this->addSql(<<<'SQL'
CREATE INDEX IDX_FFE659D5A2D76671 ON apps_organizations (apps_id)
SQL);
$this->addSql(<<<'SQL'
CREATE INDEX IDX_FFE659D586288A55 ON apps_organizations (organizations_id)
SQL);
$this->addSql(<<<'SQL'
CREATE TABLE cgu (id SERIAL NOT NULL, version VARCHAR(20) NOT NULL, created_at TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT CURRENT_TIMESTAMP NOT NULL, PRIMARY KEY(id))
SQL);
$this->addSql(<<<'SQL'
COMMENT ON COLUMN cgu.created_at IS '(DC2Type:datetime_immutable)'
SQL);
$this->addSql(<<<'SQL'
CREATE TABLE cgu_user (id SERIAL NOT NULL, users_id INT NOT NULL, cgu_id INT NOT NULL, is_accepted BOOLEAN DEFAULT false NOT NULL, PRIMARY KEY(id))
SQL);
$this->addSql(<<<'SQL'
CREATE INDEX IDX_382CC76767B3B43D ON cgu_user (users_id)
SQL);
$this->addSql(<<<'SQL'
CREATE INDEX IDX_382CC767D1513B86 ON cgu_user (cgu_id)
SQL);
$this->addSql(<<<'SQL'
CREATE TABLE organizations (id SERIAL NOT NULL, email VARCHAR(255) NOT NULL, number INT NOT NULL, address VARCHAR(255) NOT NULL, logo_url VARCHAR(255) NOT NULL, created_at TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT CURRENT_TIMESTAMP NOT NULL, is_deleted BOOLEAN DEFAULT false NOT NULL, is_active BOOLEAN DEFAULT true NOT NULL, PRIMARY KEY(id))
SQL);
$this->addSql(<<<'SQL'
COMMENT ON COLUMN organizations.created_at IS '(DC2Type:datetime_immutable)'
SQL);
$this->addSql(<<<'SQL'
CREATE TABLE roles (id SERIAL NOT NULL, name VARCHAR(255) NOT NULL, created_at TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT CURRENT_TIMESTAMP NOT NULL, PRIMARY KEY(id))
SQL);
$this->addSql(<<<'SQL'
COMMENT ON COLUMN roles.created_at IS '(DC2Type:datetime_immutable)'
SQL);
$this->addSql(<<<'SQL'
CREATE TABLE users_organizations (id SERIAL NOT NULL, users_id INT NOT NULL, organization_id INT NOT NULL, role_id INT NOT NULL, is_active BOOLEAN DEFAULT true NOT NULL, PRIMARY KEY(id))
SQL);
$this->addSql(<<<'SQL'
CREATE INDEX IDX_4B99147267B3B43D ON users_organizations (users_id)
SQL);
$this->addSql(<<<'SQL'
CREATE INDEX IDX_4B99147232C8A3DE ON users_organizations (organization_id)
SQL);
$this->addSql(<<<'SQL'
CREATE INDEX IDX_4B991472D60322AC ON users_organizations (role_id)
SQL);
$this->addSql(<<<'SQL'
CREATE TABLE users_organizations_apps (users_organizations_id INT NOT NULL, apps_id INT NOT NULL, PRIMARY KEY(users_organizations_id, apps_id))
SQL);
$this->addSql(<<<'SQL'
CREATE INDEX IDX_F01F6897964985F0 ON users_organizations_apps (users_organizations_id)
SQL);
$this->addSql(<<<'SQL'
CREATE INDEX IDX_F01F6897A2D76671 ON users_organizations_apps (apps_id)
SQL);
$this->addSql(<<<'SQL'
ALTER TABLE actions ADD CONSTRAINT FK_548F1EF67B3B43D FOREIGN KEY (users_id) REFERENCES "user" (id) NOT DEFERRABLE INITIALLY IMMEDIATE
SQL);
$this->addSql(<<<'SQL'
ALTER TABLE apps_organizations ADD CONSTRAINT FK_FFE659D5A2D76671 FOREIGN KEY (apps_id) REFERENCES apps (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE
SQL);
$this->addSql(<<<'SQL'
ALTER TABLE apps_organizations ADD CONSTRAINT FK_FFE659D586288A55 FOREIGN KEY (organizations_id) REFERENCES organizations (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE
SQL);
$this->addSql(<<<'SQL'
ALTER TABLE cgu_user ADD CONSTRAINT FK_382CC76767B3B43D FOREIGN KEY (users_id) REFERENCES "user" (id) NOT DEFERRABLE INITIALLY IMMEDIATE
SQL);
$this->addSql(<<<'SQL'
ALTER TABLE cgu_user ADD CONSTRAINT FK_382CC767D1513B86 FOREIGN KEY (cgu_id) REFERENCES cgu (id) NOT DEFERRABLE INITIALLY IMMEDIATE
SQL);
$this->addSql(<<<'SQL'
ALTER TABLE users_organizations ADD CONSTRAINT FK_4B99147267B3B43D FOREIGN KEY (users_id) REFERENCES "user" (id) NOT DEFERRABLE INITIALLY IMMEDIATE
SQL);
$this->addSql(<<<'SQL'
ALTER TABLE users_organizations ADD CONSTRAINT FK_4B99147232C8A3DE FOREIGN KEY (organization_id) REFERENCES organizations (id) NOT DEFERRABLE INITIALLY IMMEDIATE
SQL);
$this->addSql(<<<'SQL'
ALTER TABLE users_organizations ADD CONSTRAINT FK_4B991472D60322AC FOREIGN KEY (role_id) REFERENCES roles (id) NOT DEFERRABLE INITIALLY IMMEDIATE
SQL);
$this->addSql(<<<'SQL'
ALTER TABLE users_organizations_apps ADD CONSTRAINT FK_F01F6897964985F0 FOREIGN KEY (users_organizations_id) REFERENCES users_organizations (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE
SQL);
$this->addSql(<<<'SQL'
ALTER TABLE users_organizations_apps ADD CONSTRAINT FK_F01F6897A2D76671 FOREIGN KEY (apps_id) REFERENCES apps (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE
SQL);
$this->addSql(<<<'SQL'
ALTER TABLE "user" ADD name VARCHAR(255) NOT NULL
SQL);
$this->addSql(<<<'SQL'
ALTER TABLE "user" ADD surname VARCHAR(255) NOT NULL
SQL);
$this->addSql(<<<'SQL'
ALTER TABLE "user" ADD created_at TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT CURRENT_TIMESTAMP NOT NULL
SQL);
$this->addSql(<<<'SQL'
ALTER TABLE "user" ADD picture_url VARCHAR(255) NOT NULL
SQL);
$this->addSql(<<<'SQL'
ALTER TABLE "user" ADD modified_at TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT CURRENT_TIMESTAMP NOT NULL
SQL);
$this->addSql(<<<'SQL'
ALTER TABLE "user" ADD is_active BOOLEAN DEFAULT true NOT NULL
SQL);
$this->addSql(<<<'SQL'
ALTER TABLE "user" ADD is_deleted BOOLEAN DEFAULT false NOT NULL
SQL);
$this->addSql(<<<'SQL'
COMMENT ON COLUMN "user".created_at IS '(DC2Type:datetime_immutable)'
SQL);
$this->addSql(<<<'SQL'
COMMENT ON COLUMN "user".modified_at IS '(DC2Type:datetime_immutable)'
SQL);
}
public function down(Schema $schema): void
{
// this down() migration is auto-generated, please modify it to your needs
$this->addSql(<<<'SQL'
CREATE SCHEMA public
SQL);
$this->addSql(<<<'SQL'
ALTER TABLE actions DROP CONSTRAINT FK_548F1EF67B3B43D
SQL);
$this->addSql(<<<'SQL'
ALTER TABLE apps_organizations DROP CONSTRAINT FK_FFE659D5A2D76671
SQL);
$this->addSql(<<<'SQL'
ALTER TABLE apps_organizations DROP CONSTRAINT FK_FFE659D586288A55
SQL);
$this->addSql(<<<'SQL'
ALTER TABLE cgu_user DROP CONSTRAINT FK_382CC76767B3B43D
SQL);
$this->addSql(<<<'SQL'
ALTER TABLE cgu_user DROP CONSTRAINT FK_382CC767D1513B86
SQL);
$this->addSql(<<<'SQL'
ALTER TABLE users_organizations DROP CONSTRAINT FK_4B99147267B3B43D
SQL);
$this->addSql(<<<'SQL'
ALTER TABLE users_organizations DROP CONSTRAINT FK_4B99147232C8A3DE
SQL);
$this->addSql(<<<'SQL'
ALTER TABLE users_organizations DROP CONSTRAINT FK_4B991472D60322AC
SQL);
$this->addSql(<<<'SQL'
ALTER TABLE users_organizations_apps DROP CONSTRAINT FK_F01F6897964985F0
SQL);
$this->addSql(<<<'SQL'
ALTER TABLE users_organizations_apps DROP CONSTRAINT FK_F01F6897A2D76671
SQL);
$this->addSql(<<<'SQL'
DROP TABLE actions
SQL);
$this->addSql(<<<'SQL'
DROP TABLE apps
SQL);
$this->addSql(<<<'SQL'
DROP TABLE apps_organizations
SQL);
$this->addSql(<<<'SQL'
DROP TABLE cgu
SQL);
$this->addSql(<<<'SQL'
DROP TABLE cgu_user
SQL);
$this->addSql(<<<'SQL'
DROP TABLE organizations
SQL);
$this->addSql(<<<'SQL'
DROP TABLE roles
SQL);
$this->addSql(<<<'SQL'
DROP TABLE users_organizations
SQL);
$this->addSql(<<<'SQL'
DROP TABLE users_organizations_apps
SQL);
$this->addSql(<<<'SQL'
ALTER TABLE "user" DROP name
SQL);
$this->addSql(<<<'SQL'
ALTER TABLE "user" DROP surname
SQL);
$this->addSql(<<<'SQL'
ALTER TABLE "user" DROP created_at
SQL);
$this->addSql(<<<'SQL'
ALTER TABLE "user" DROP picture_url
SQL);
$this->addSql(<<<'SQL'
ALTER TABLE "user" DROP modified_at
SQL);
$this->addSql(<<<'SQL'
ALTER TABLE "user" DROP is_active
SQL);
$this->addSql(<<<'SQL'
ALTER TABLE "user" DROP is_deleted
SQL);
}
}