Attempt to properly handle new start lines on servers for migration

This commit is contained in:
Dane Everitt 2017-03-12 18:26:36 -04:00
parent 63029bb396
commit d67f65bb71
No known key found for this signature in database
GPG key ID: EEA66103B3D71F53
3 changed files with 54 additions and 38 deletions

View file

@ -13,11 +13,29 @@ class DeleteServiceExecutableOption extends Migration
*/
public function up()
{
Schema::table('services', function (Blueprint $table) {
$table->dropColumn('executable');
$table->renameColumn('file', 'folder');
$table->text('description')->nullable()->change();
$table->text('startup')->nullable()->change();
DB::transaction(function () {
Schema::table('services', function (Blueprint $table) {
$table->renameColumn('file', 'folder');
$table->text('description')->nullable()->change();
$table->text('startup')->nullable()->change();
});
// Attempt to fix any startup commands for servers
// that we possibly can.
foreach (ServiceOption::with('servers')->get() as $option) {
$option->servers->each(function ($s) use ($option) {
$prepend = $option->display_executable;
$prepend = ($prepend === './ShooterGameServer') ? './ShooterGame/Binaries/Linux/ShooterGameServer' : $prepend;
$prepend = ($prepend === 'TerrariaServer.exe') ? 'mono TerrariaServer.exe' : $prepend;
$s->startup = $prepend . ' ' . $s->startup;
$s->save();
});
}
Schema::table('services', function (Blueprint $table) {
$table->dropColumn('executable');
});
});
}