Skip to content

Commit

Permalink
Fixed error when executing update script multiple times #533
Browse files Browse the repository at this point in the history
  • Loading branch information
electerious committed May 2, 2016
1 parent a5c47cf commit 2ce58d2
Showing 1 changed file with 29 additions and 4 deletions.
33 changes: 29 additions & 4 deletions php/database/update_030102.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,36 +10,61 @@
// Change type of the album id field
$query = Database::prepare($connection, "ALTER TABLE `?` CHANGE `album` `album` BIGINT UNSIGNED NOT NULL", array(LYCHEE_TABLE_PHOTOS));
$result = Database::execute($connection, $query, 'update_030102', __LINE__);

if ($result===false) Response::error('Could not change type of the album id field!');

// Add index to the album id field
$query = Database::prepare($connection, "ALTER TABLE `?` ADD INDEX `Index_album` (`album`)", array(LYCHEE_TABLE_PHOTOS));
$query = Database::prepare($connection, "SHOW INDEX FROM `?` WHERE KEY_NAME = 'Index_album'", array(LYCHEE_TABLE_PHOTOS));
$result = Database::execute($connection, $query, 'update_030102', __LINE__);
if ($result===false) Response::error('Could not add index to the album id field!');

if ($result===false) Response::error('Could not check if Index_album exists!');

if ($result->num_rows===0) {

$query = Database::prepare($connection, "ALTER TABLE `?` ADD INDEX `Index_album` (`album`)", array(LYCHEE_TABLE_PHOTOS));
$result = Database::execute($connection, $query, 'update_030102', __LINE__);

if ($result===false) Response::error('Could not add index to the album id field!');

}

// Add index to the star field
$query = Database::prepare($connection, "ALTER TABLE `?` ADD INDEX `Index_star` (`star`)", array(LYCHEE_TABLE_PHOTOS));
$query = Database::prepare($connection, "SHOW INDEX FROM `?` WHERE KEY_NAME = 'Index_star'", array(LYCHEE_TABLE_PHOTOS));
$result = Database::execute($connection, $query, 'update_030102', __LINE__);
if ($result===false) Response::error('Could not add index to the star field!');

if ($result===false) Response::error('Could not check if Index_star exists!');

if ($result->num_rows===0) {

$query = Database::prepare($connection, "ALTER TABLE `?` ADD INDEX `Index_star` (`star`)", array(LYCHEE_TABLE_PHOTOS));
$result = Database::execute($connection, $query, 'update_030102', __LINE__);

if ($result===false) Response::error('Could not add index to the star field!');

}

// Change type of the checksum field
$query = Database::prepare($connection, "ALTER TABLE `?` CHANGE `checksum` `checksum` CHAR(40) NULL DEFAULT NULL", array(LYCHEE_TABLE_PHOTOS));
$result = Database::execute($connection, $query, 'update_030102', __LINE__);

if ($result===false) Response::error('Could not change type of the checksum field!');

// Change type of the thumbUrl field
$query = Database::prepare($connection, "ALTER TABLE `?` CHANGE `thumbUrl` `thumbUrl` CHAR(37) NOT NULL", array(LYCHEE_TABLE_PHOTOS));
$result = Database::execute($connection, $query, 'update_030102', __LINE__);

if ($result===false) Response::error('Could not change type of the thumbUrl field!');

// Change type of the id field
$query = Database::prepare($connection, "ALTER TABLE `?` CHANGE `id` `id` BIGINT(14) UNSIGNED NOT NULL", array(LYCHEE_TABLE_PHOTOS));
$result = Database::execute($connection, $query, 'update_030102', __LINE__);

if ($result===false) Response::error('Could not change type of the id field!');

// Change type of the id field
$query = Database::prepare($connection, "ALTER TABLE `?` CHANGE `id` `id` BIGINT(14) UNSIGNED NOT NULL", array(LYCHEE_TABLE_ALBUMS));
$result = Database::execute($connection, $query, 'update_030102', __LINE__);

if ($result===false) Response::error('Could not change type of the id field!');

// Set version
Expand Down

0 comments on commit 2ce58d2

Please sign in to comment.