public function up(Schema $schema)
{
$this->abortIf($this->connection->getDatabasePlatform()->getName() != "postgresql");
$this->addSql("ALTER TABLE typo3_neos_eventlog_domain_model_event DROP CONSTRAINT FK_30AB3A75B684C08");
$this->addSql("ALTER TABLE typo3_neos_eventlog_domain_model_event DROP CONSTRAINT typo3_neos_eventlog_domain_model_event_pkey");
$this->addSql("WITH p AS (SELECT DISTINCT uid, persistence_object_identifier FROM typo3_neos_eventlog_domain_model_event) UPDATE typo3_neos_eventlog_domain_model_event SET parentevent = p.uid FROM p WHERE parentevent IS NOT NULL AND p.persistence_object_identifier = parentevent");
$this->addSql("ALTER TABLE typo3_neos_eventlog_domain_model_event ALTER parentevent DROP DEFAULT");
$this->addSql("ALTER TABLE typo3_neos_eventlog_domain_model_event ALTER parentevent TYPE INTEGER USING (parentevent::integer)");
$this->addSql("ALTER TABLE typo3_neos_eventlog_domain_model_event ALTER uid SET NOT NULL");
$this->addSql("ALTER TABLE typo3_neos_eventlog_domain_model_event DROP persistence_object_identifier");
$this->addSql("ALTER TABLE typo3_neos_eventlog_domain_model_event ADD PRIMARY KEY (uid)");
$this->addSql("ALTER TABLE typo3_neos_eventlog_domain_model_event ADD CONSTRAINT FK_30AB3A75B684C08 FOREIGN KEY (parentevent) REFERENCES typo3_neos_eventlog_domain_model_event (uid) NOT DEFERRABLE INITIALLY IMMEDIATE");
}