Skip to content

Commit

Permalink
Merge pull request #16028 from marcusmoore/fixes/report-template-column
Browse files Browse the repository at this point in the history
Fixed migration causing issues with mariadb
  • Loading branch information
snipe authored Jan 6, 2025
2 parents 4d3db2a + 80f9159 commit f698f74
Show file tree
Hide file tree
Showing 2 changed files with 52 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,19 @@ public function up()
$table->id();
$table->integer('created_by')->nullable();
$table->string('name');
$table->json('options');

/*
* The "options" column was originally json but this causes issues
* with older versions of mariadb so it was changed text.
*
* A follow-up migration definitively changes it to a text column
* for the systems that had successfully run the migration:
* 2025_01_06_210534_change_report_templates_options_to_column_text_field.
*
* https://github.com/snipe/snipe-it/issues/16015
*/
$table->text('options');

$table->softDeletes();
$table->timestamps();
$table->index('created_by');
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

return new class extends Migration {
/**
* Run the migrations.
*/
public function up(): void
{
/*
* The "options" column was originally json but the migration was amended to change it to a text column
* since json columns cause issues with older versions of mariadb.
*
* This migration definitively changes it to a text column
* for the systems that had successfully run the migration.
*
* https://github.com/snipe/snipe-it/issues/16015
*/
if (Schema::hasTable('report_templates') && Schema::hasColumn('report_templates', 'options')) {
Schema::table('report_templates', function (Blueprint $table) {
$table->text('options')->change();
});
}
}

/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::table('report_templates', function (Blueprint $table) {
// Instead of attempting to roll this back to json let's just
// keep it as text since that works for mysql, mariadb, and sqlite.
});
}
};

0 comments on commit f698f74

Please sign in to comment.