<?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 Version20250129203050 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 Applications (id INT AUTO_INCREMENT NOT NULL, user_id INT NOT NULL, category_id INT NOT NULL, admin_id INT DEFAULT NULL, created_at DATETIME NOT NULL, answers LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:json)\', reason LONGTEXT DEFAULT NULL, status INT NOT NULL, INDEX IDX_EFF8BD08A76ED395 (user_id), INDEX IDX_EFF8BD0812469DE2 (category_id), INDEX IDX_EFF8BD08642B8210 (admin_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE `utf8_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE Category (id INT AUTO_INCREMENT NOT NULL, name VARCHAR(255) NOT NULL, description LONGTEXT DEFAULT NULL, image VARCHAR(255) DEFAULT NULL, webhook VARCHAR(125) DEFAULT NULL, message_accept LONGTEXT DEFAULT NULL, message_deny LONGTEXT DEFAULT NULL, enabled TINYINT(1) DEFAULT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE `utf8_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE Faq (id INT AUTO_INCREMENT NOT NULL, title VARCHAR(255) NOT NULL, description LONGTEXT NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE `utf8_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE Files (id INT AUTO_INCREMENT NOT NULL, name VARCHAR(255) NOT NULL, value VARCHAR(255) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE `utf8_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE Questions (id INT AUTO_INCREMENT NOT NULL, category_id INT NOT NULL, name VARCHAR(255) NOT NULL, type INT NOT NULL, placeholder VARCHAR(255) DEFAULT NULL, INDEX IDX_82DD67612469DE2 (category_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE `utf8_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE Rules (id INT AUTO_INCREMENT NOT NULL, content LONGTEXT DEFAULT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE `utf8_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE RulesCrime (id INT AUTO_INCREMENT NOT NULL, content LONGTEXT DEFAULT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE `utf8_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE `login_logs` (id INT AUTO_INCREMENT NOT NULL, user_id INT NOT NULL, created_at DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', browser VARCHAR(255) DEFAULT NULL, address_ip VARCHAR(46) DEFAULT NULL, INDEX IDX_36FD4D19A76ED395 (user_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE `utf8_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE settings (id INT AUTO_INCREMENT NOT NULL, content LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:json)\', PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE `utf8_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE `user` (id INT AUTO_INCREMENT NOT NULL, discord_id VARCHAR(180) NOT NULL, username VARCHAR(180) NOT NULL, email VARCHAR(255) NOT NULL, avatar VARCHAR(255) DEFAULT NULL, roles LONGTEXT NOT NULL COMMENT \'(DC2Type:json)\', banned TINYINT(1) NOT NULL, join_date DATETIME DEFAULT NULL, groupId INT DEFAULT NULL, UNIQUE INDEX UNIQ_8D93D64943349DE (discord_id), UNIQUE INDEX UNIQ_8D93D649E7927C74 (email), INDEX IDX_8D93D649ED8188B0 (groupId), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE `utf8_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE user_groups (id INT AUTO_INCREMENT NOT NULL, name VARCHAR(48) NOT NULL, permissions LONGTEXT NOT NULL COMMENT \'(DC2Type:json)\', PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE `utf8_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE messenger_messages (id BIGINT AUTO_INCREMENT NOT NULL, body LONGTEXT NOT NULL, headers LONGTEXT NOT NULL, queue_name VARCHAR(190) NOT NULL, created_at DATETIME NOT NULL, available_at DATETIME NOT NULL, delivered_at DATETIME DEFAULT NULL, INDEX IDX_75EA56E0FB7336F0 (queue_name), INDEX IDX_75EA56E0E3BD61CE (available_at), INDEX IDX_75EA56E016BA31DB (delivered_at), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE `utf8_unicode_ci` ENGINE = InnoDB');
$this->addSql('ALTER TABLE Applications ADD CONSTRAINT FK_EFF8BD08A76ED395 FOREIGN KEY (user_id) REFERENCES `user` (id)');
$this->addSql('ALTER TABLE Applications ADD CONSTRAINT FK_EFF8BD0812469DE2 FOREIGN KEY (category_id) REFERENCES Category (id)');
$this->addSql('ALTER TABLE Applications ADD CONSTRAINT FK_EFF8BD08642B8210 FOREIGN KEY (admin_id) REFERENCES `user` (id)');
$this->addSql('ALTER TABLE Questions ADD CONSTRAINT FK_82DD67612469DE2 FOREIGN KEY (category_id) REFERENCES Category (id)');
$this->addSql('ALTER TABLE `login_logs` ADD CONSTRAINT FK_36FD4D19A76ED395 FOREIGN KEY (user_id) REFERENCES `user` (id)');
$this->addSql('ALTER TABLE `user` ADD CONSTRAINT FK_8D93D649ED8188B0 FOREIGN KEY (groupId) REFERENCES user_groups (id)');
}
public function down(Schema $schema): void
{
// this down() migration is auto-generated, please modify it to your needs
$this->addSql('ALTER TABLE Applications DROP FOREIGN KEY FK_EFF8BD0812469DE2');
$this->addSql('ALTER TABLE Questions DROP FOREIGN KEY FK_82DD67612469DE2');
$this->addSql('ALTER TABLE Applications DROP FOREIGN KEY FK_EFF8BD08A76ED395');
$this->addSql('ALTER TABLE Applications DROP FOREIGN KEY FK_EFF8BD08642B8210');
$this->addSql('ALTER TABLE `login_logs` DROP FOREIGN KEY FK_36FD4D19A76ED395');
$this->addSql('ALTER TABLE `user` DROP FOREIGN KEY FK_8D93D649ED8188B0');
$this->addSql('DROP TABLE Applications');
$this->addSql('DROP TABLE Category');
$this->addSql('DROP TABLE Faq');
$this->addSql('DROP TABLE Files');
$this->addSql('DROP TABLE Questions');
$this->addSql('DROP TABLE Rules');
$this->addSql('DROP TABLE RulesCrime');
$this->addSql('DROP TABLE `login_logs`');
$this->addSql('DROP TABLE settings');
$this->addSql('DROP TABLE `user`');
$this->addSql('DROP TABLE user_groups');
$this->addSql('DROP TABLE messenger_messages');
}
}