Files
OSJ/classes/migration/upgrade/v3_4_0/I7596_RemoveNonExpiring.php
CHIEFSOFT\ameye df3a033196 first commit
2024-06-08 17:09:23 -04:00

49 lines
1.5 KiB
PHP

<?php
/**
* @file classes/migration/upgrade/v3_4_0/I7596_RemoveNonExpiring.php
*
* Copyright (c) 2014-2021 Simon Fraser University
* Copyright (c) 2000-2021 John Willinsky
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
*
* @class I7596_RemoveNonExpiring
*
* @brief Remove the subscription non_expiring column if it exists.
* By OJS 3.3.0-x the non-expiring state of the subscription was determined by
* the NULL status of the duration column, but not all code had been updated to
* reflect this. Issue 7596 converts the outstanding cases to check the
* duration column instead, and this migration removes the superfluous column.
*/
namespace APP\migration\upgrade\v3_4_0;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class I7596_RemoveNonExpiring extends \PKP\migration\Migration
{
/**
* Run the migration.
*/
public function up(): void
{
// Installations that began with OJS 3.3.0 will not have this column.
// Older installations will.
if (Schema::hasColumn('subscription_types', 'non_expiring')) {
Schema::table('subscription_types', function (Blueprint $table) {
$table->dropColumn('non_expiring');
});
}
}
/**
* Reverse the downgrades
*/
public function down(): void
{
// Regardless of whether the column existed before the migration was
// executed, OJS 3.3.x did not use it and it should not be re-added.
}
}