koel/database/seeders/AlbumTableSeeder.php

34 lines
802 B
PHP
Raw Normal View History

2015-12-13 04:42:28 +00:00
<?php
namespace Database\Seeders;
2015-12-13 04:42:28 +00:00
use App\Models\Album;
use App\Models\Artist;
2015-12-14 13:22:39 +00:00
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
2015-12-13 04:42:28 +00:00
class AlbumTableSeeder extends Seeder
{
2020-12-22 20:11:22 +00:00
public function run(): void
2015-12-13 04:42:28 +00:00
{
2019-11-29 20:50:59 +00:00
Album::firstOrCreate([
2019-11-29 20:51:39 +00:00
'id' => Album::UNKNOWN_ID,
2019-11-29 20:50:59 +00:00
], [
2015-12-13 04:42:28 +00:00
'artist_id' => Artist::UNKNOWN_ID,
'name' => Album::UNKNOWN_NAME,
'cover' => Album::UNKNOWN_COVER,
]);
self::maybeResetPgsqlSerialValue();
}
private static function maybeResetPgsqlSerialValue(): void
{
if (DB::getDriverName() === 'pgsql') {
DB::statement(
"SELECT setval(pg_get_serial_sequence('albums', 'id'), coalesce(max(id), 0) + 1, false) FROM albums"
);
}
2015-12-13 04:42:28 +00:00
}
}