Fix back in time migrations for very old restores or upgrades
This commit is contained in:
+18
@@ -24,6 +24,16 @@ class DenormalizedEolAndAddColumnForExplicitDateToAssets extends Migration
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
// This is a back in time migration to fix restores from very old versions of Snipe-IT where
|
||||
// companies were not soft-deletable. We will undo this in this migration
|
||||
// after the eol_explicit stuff is done
|
||||
Schema::table('companies', function (Blueprint $table) {
|
||||
if (!Schema::hasColumn('companies', 'deleted_at')) {
|
||||
$table->datetime('deleted_at')->default(false);
|
||||
}
|
||||
});
|
||||
|
||||
// Update the eol_explicit column with the value from asset_eol_date if it exists and is different from the calculated value
|
||||
Asset::whereNotNull('asset_eol_date')->with('model')->chunkById(500, function ($assetsWithEolDates) {
|
||||
foreach ($assetsWithEolDates as $asset) {
|
||||
@@ -54,6 +64,14 @@ class DenormalizedEolAndAddColumnForExplicitDateToAssets extends Migration
|
||||
->update([
|
||||
'asset_eol_date' => $this->eolUpdateExpression(),
|
||||
]);
|
||||
|
||||
|
||||
Schema::table('companies', function (Blueprint $table) {
|
||||
if (!Schema::hasColumn('companies', 'deleted_at')) {
|
||||
$table->dropColumn('deleted_at');
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user