diff --git a/database/migrations/2022_09_29_203332_create_playlists_table.php b/database/migrations/2022_09_29_203332_create_playlists_table.php index 5809a73da..b8b6193e0 100644 --- a/database/migrations/2022_09_29_203332_create_playlists_table.php +++ b/database/migrations/2022_09_29_203332_create_playlists_table.php @@ -26,7 +26,11 @@ public function up(): void $table->id(Playlist::ATTRIBUTE_ID); $table->timestamps(6); $table->softDeletes(BaseModel::ATTRIBUTE_DELETED_AT, 6); - $table->string(HasHashids::ATTRIBUTE_HASHID)->nullable()->collation('utf8mb4_bin'); + $hashIdColumn = $table->string(HasHashids::ATTRIBUTE_HASHID)->nullable(); + if (DB::connection() instanceof MySqlConnection) { + // Set collation to binary to be case-sensitive + $hashIdColumn->collation('utf8mb4_bin'); + } $table->string(Playlist::ATTRIBUTE_NAME); $table->integer(Playlist::ATTRIBUTE_VISIBILITY); diff --git a/database/migrations/2022_09_29_204718_create_playlist_tracks_table.php b/database/migrations/2022_09_29_204718_create_playlist_tracks_table.php index 9dea1a881..020262679 100644 --- a/database/migrations/2022_09_29_204718_create_playlist_tracks_table.php +++ b/database/migrations/2022_09_29_204718_create_playlist_tracks_table.php @@ -27,7 +27,11 @@ public function up(): void $table->id(PlaylistTrack::ATTRIBUTE_ID); $table->timestamps(6); $table->softDeletes(BaseModel::ATTRIBUTE_DELETED_AT, 6); - $table->string(HasHashids::ATTRIBUTE_HASHID)->nullable()->collation('utf8mb4_bin'); + $hashIdColumn = $table->string(HasHashids::ATTRIBUTE_HASHID)->nullable(); + if (DB::connection() instanceof MySqlConnection) { + // Set collation to binary to be case-sensitive + $hashIdColumn->collation('utf8mb4_bin'); + } $table->unsignedBigInteger(PlaylistTrack::ATTRIBUTE_PLAYLIST); $table->foreign(PlaylistTrack::ATTRIBUTE_PLAYLIST)->references(Playlist::ATTRIBUTE_ID)->on(Playlist::TABLE)->cascadeOnDelete();