From e6003a02529eed51952d9d558cc90b37a15405b8 Mon Sep 17 00:00:00 2001 From: James Date: Thu, 18 Aug 2011 15:59:22 -0400 Subject: [PATCH] CC-2698: Fix for version 2.0 - fixed --- .../DoctrineMigrations/Version20110711161043.php | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/install_minimal/DoctrineMigrations/Version20110711161043.php b/install_minimal/DoctrineMigrations/Version20110711161043.php index 4a0bed554..10821f9b2 100644 --- a/install_minimal/DoctrineMigrations/Version20110711161043.php +++ b/install_minimal/DoctrineMigrations/Version20110711161043.php @@ -27,7 +27,15 @@ class Version20110711161043 extends AbstractMigration $cc_files->addColumn('directory', 'integer', array('notnull' => 0, 'default'=> NULL)); $cc_files->addNamedForeignKeyConstraint('cc_music_dirs_folder_fkey', $cc_music_dirs, array('directory'), array('id'), array('onDelete' => 'CASCADE')); - + + // before 3) we have to delete all entries in cc_schedule with file_id that are not in cc_file table + $this->_addSql("DELETE FROM cc_schedule WHERE cc_schedule.id IN( + SELECT cc_schedule.id + FROM cc_schedule + LEFT JOIN cc_files + ON cc_schedule.file_id = cc_files.id + WHERE cc_files.id IS NULL)"); + /* 3) create a foreign key relationship from cc_schedule to cc_files */ $cc_schedule = $schema->getTable('cc_schedule'); $cc_schedule->addNamedForeignKeyConstraint('cc_files_folder_fkey', $cc_files, array('file_id'), array('id'), array('onDelete' => 'CASCADE'));