mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-02-25 18:45:27 -06:00
Add missing indices.
This commit is contained in:
parent
cb8fa4e1f4
commit
c13a3fb30c
54
database/migrations/2024_03_03_174645_add_indices.php
Normal file
54
database/migrations/2024_03_03_174645_add_indices.php
Normal file
@ -0,0 +1,54 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\QueryException;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
return new class extends Migration {
|
||||
private const string QUERY_ERROR = 'Could not execute query (table "%s", field "%s"): %s';
|
||||
private const string EXPL = 'If the index already exists (see error), this is not an problem. Otherwise, please open a GitHub discussion.';
|
||||
|
||||
/**
|
||||
* Run the migrations.
|
||||
*/
|
||||
public function up(): void
|
||||
{
|
||||
// add missing indices
|
||||
$set = [
|
||||
'account_meta' => ['id', 'account_id'],
|
||||
'accounts' => ['id', 'user_id', 'user_group_id', 'account_type_id'],
|
||||
'budgets' => ['id', 'user_id', 'user_group_id'],
|
||||
'categories' => ['id', 'user_id', 'user_group_id'],
|
||||
'transaction_currencies' => ['id', 'code'],
|
||||
'transaction_groups' => ['id', 'user_id', 'user_group_id'],
|
||||
'transaction_journals' => ['id', 'user_id', 'user_group_id', 'transaction_group_id', 'transaction_type_id', 'transaction_currency_id', 'bill_id'],
|
||||
'transactions' => ['id', 'user_id', 'user_group_id', 'account_id', 'transaction_journal_id', 'transaction_currency_id', 'foreign_currency_id'],
|
||||
];
|
||||
|
||||
foreach ($set as $table => $fields) {
|
||||
foreach ($fields as $field) {
|
||||
try {
|
||||
Schema::table(
|
||||
$table,
|
||||
static function (Blueprint $blueprint) use ($field): void {
|
||||
$blueprint->index($field);
|
||||
}
|
||||
);
|
||||
} catch (QueryException $e) {
|
||||
app('log')->error(sprintf(self::QUERY_ERROR, $table, $field, $e->getMessage()));
|
||||
app('log')->error(self::EXPL);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*/
|
||||
public function down(): void
|
||||
{
|
||||
//
|
||||
}
|
||||
};
|
Loading…
Reference in New Issue
Block a user