public function up(Schema $schema)
{
$this->abortIf($this->connection->getDatabasePlatform()->getName() != "postgresql");
$this->addSql("ALTER TABLE typo3_typo3cr_domain_model_nodedata DROP CONSTRAINT fk_820cadc88d940019");
$this->addSql("ALTER TABLE typo3_typo3cr_domain_model_workspace DROP CONSTRAINT FK_71DE9CFBE9BFE681");
$this->addSql("ALTER TABLE typo3_typo3cr_domain_model_workspace DROP CONSTRAINT typo3_typo3cr_domain_model_workspace_pkey");
$this->addSql("ALTER TABLE typo3_typo3cr_domain_model_nodedata ALTER workspace TYPE VARCHAR(255)");
$this->addSql("ALTER TABLE typo3_typo3cr_domain_model_workspace ALTER baseworkspace TYPE VARCHAR(255)");
$this->addSql("UPDATE typo3_typo3cr_domain_model_workspace w SET baseworkspace = b.name FROM typo3_typo3cr_domain_model_workspace b WHERE b.persistence_object_identifier = w.baseworkspace");
$this->addSql("UPDATE typo3_typo3cr_domain_model_nodedata n SET workspace = w.name FROM typo3_typo3cr_domain_model_workspace w WHERE w.persistence_object_identifier = n.workspace");
$this->addSql("ALTER TABLE typo3_typo3cr_domain_model_workspace DROP persistence_object_identifier");
$this->addSql("DROP INDEX flow3_identity_typo3_typo3cr_domain_model_workspace");
$this->addSql("ALTER TABLE typo3_typo3cr_domain_model_workspace ADD PRIMARY KEY (name)");
$this->addSql("ALTER TABLE typo3_typo3cr_domain_model_nodedata ADD CONSTRAINT FK_60A956B98D940019 FOREIGN KEY (workspace) REFERENCES typo3_typo3cr_domain_model_workspace (name) ON DELETE SET NULL NOT DEFERRABLE INITIALLY IMMEDIATE");
$this->addSql("ALTER TABLE typo3_typo3cr_domain_model_workspace ADD CONSTRAINT FK_71DE9CFBE9BFE681 FOREIGN KEY (baseworkspace) REFERENCES typo3_typo3cr_domain_model_workspace (name) ON DELETE SET NULL NOT DEFERRABLE INITIALLY IMMEDIATE");
}