43 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
<?php
 | 
						|
 | 
						|
declare(strict_types=1);
 | 
						|
 | 
						|
namespace DoctrineMigrations;
 | 
						|
 | 
						|
use Doctrine\DBAL\Schema\Schema;
 | 
						|
use Doctrine\Migrations\AbstractMigration;
 | 
						|
 | 
						|
final class Version20251028063716 extends AbstractMigration
 | 
						|
{
 | 
						|
    public function getDescription(): string
 | 
						|
    {
 | 
						|
        return 'Oops, Entry->updatedAt shouldve been nullable';
 | 
						|
    }
 | 
						|
 | 
						|
    public function up(Schema $schema): void
 | 
						|
    {
 | 
						|
        $this->addSql('CREATE TEMPORARY TABLE __temp__entry AS SELECT id, user_id, date_at, created_at, updated_at FROM entry');
 | 
						|
        $this->addSql('DROP TABLE entry');
 | 
						|
        $this->addSql('CREATE TABLE entry (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, user_id INTEGER NOT NULL, date_at DATETIME NOT NULL --(DC2Type:datetime_immutable)
 | 
						|
        , created_at DATETIME NOT NULL --(DC2Type:datetime_immutable)
 | 
						|
        , updated_at DATETIME DEFAULT NULL --(DC2Type:datetime_immutable)
 | 
						|
        , CONSTRAINT FK_2B219D70A76ED395 FOREIGN KEY (user_id) REFERENCES user (id) ON UPDATE NO ACTION ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE)');
 | 
						|
        $this->addSql('INSERT INTO entry (id, user_id, date_at, created_at, updated_at) SELECT id, user_id, date_at, created_at, updated_at FROM __temp__entry');
 | 
						|
        $this->addSql('DROP TABLE __temp__entry');
 | 
						|
        $this->addSql('CREATE INDEX IDX_2B219D70A76ED395 ON entry (user_id)');
 | 
						|
    }
 | 
						|
 | 
						|
    public function down(Schema $schema): void
 | 
						|
    {
 | 
						|
        $this->addSql('CREATE TEMPORARY TABLE __temp__entry AS SELECT id, user_id, date_at, created_at, updated_at FROM entry');
 | 
						|
        $this->addSql('DROP TABLE entry');
 | 
						|
        $this->addSql('CREATE TABLE entry (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, user_id INTEGER NOT NULL, date_at DATETIME NOT NULL --(DC2Type:datetime_immutable)
 | 
						|
        , created_at DATETIME NOT NULL --(DC2Type:datetime_immutable)
 | 
						|
        , updated_at DATETIME NOT NULL --(DC2Type:datetime_immutable)
 | 
						|
        , CONSTRAINT FK_2B219D70A76ED395 FOREIGN KEY (user_id) REFERENCES user (id) NOT DEFERRABLE INITIALLY IMMEDIATE)');
 | 
						|
        $this->addSql('INSERT INTO entry (id, user_id, date_at, created_at, updated_at) SELECT id, user_id, date_at, created_at, updated_at FROM __temp__entry');
 | 
						|
        $this->addSql('DROP TABLE __temp__entry');
 | 
						|
        $this->addSql('CREATE INDEX IDX_2B219D70A76ED395 ON entry (user_id)');
 | 
						|
    }
 | 
						|
}
 |