2015-12-13 04:42:28 +00:00
|
|
|
<?php
|
|
|
|
|
2020-11-14 16:57:25 +00:00
|
|
|
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;
|
2021-05-21 12:24:20 +00:00
|
|
|
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,
|
|
|
|
]);
|
2021-05-21 12:24:20 +00:00
|
|
|
|
|
|
|
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
|
|
|
}
|
|
|
|
}
|