Skip to content

Instantly share code, notes, and snippets.

@DominikStyp
DominikStyp / makeDatabaseBackup.sh
Last active June 27, 2024 11:10
Backup MySQL database from the docker container to the output SQL file
#!/bin/bash
# REQUIRES ROOT ACCESS TO DUMP ALL THE PROCEDURES TRIGGERS ETC.
source .env
DATE_TIME=$(date +%Y-%m-%d__%H_%M_%S)
BACKUP_FILE="${DB_DATABASE}_backup_${DATE_TIME}.sql"
docker exec project-mysql_database-1 mysqldump -h $DB_HOST -u root -p"$DB_ROOT_PASSWORD" $DB_DATABASE --single-transaction --routines --triggers > $BACKUP_FILE
@DominikStyp
DominikStyp / importDatabaseFromSQLFile.sh
Created June 12, 2024 13:08
Import database to MySQL docker container
#!/bin/bash
DB_CONTAINER_NAME = 'mysql-container-1'
DB_PASSWORD = 'secret'
DB_NAME = 'db'
DB_USER = 'db_user'
DB_PORT = 3306
DB_HOST = 'db-host'
docker exec -i $DB_CONTAINER_NAME mysql -h $DB_HOST -P $DB_PORT -u $DB_USER -p$DB_PASSWORD $DB_NAME < dump.sql
@DominikStyp
DominikStyp / CustomLogServiceProvider.php
Created June 4, 2024 13:30
Laravel: How to change/swap container instance behind the Facade for example Log
<?php
namespace App\Providers;
use App\Patches\LogManager;
use Illuminate\Log\LogServiceProvider;
use Illuminate\Support\Facades\Log;
class CustomLogServiceProvider extends LogServiceProvider
{
@DominikStyp
DominikStyp / git-show-contributors-details.sh
Last active June 18, 2024 11:24
Git: show number of lines and commits per contributor, count only files: php|js|css|sass|scss
#!/bin/bash
# provide directory of the repo
cd $1;
echo "------------- COMMITS ------------";
echo " ";
git log --pretty=format:"%an" | sort | uniq -c | sort -nr | awk '
BEGIN { total_commits=0 }
@DominikStyp
DominikStyp / User.php
Created February 6, 2024 13:25
PHPStorm: disable error indpection @read-only property beeing assigned for the specified line
<?php
/**
* @property-read int $someProp
* @property int $otherProp
*/
class User {}
@DominikStyp
DominikStyp / User.php
Last active February 1, 2024 13:26
Laravel 10: user custom attributes implementation in User model
<?php
class User extends Authenticatable implements JWTSubject
{
protected function customFields(): Attribute
{
return Attribute::make(
get: fn (?string $value) => (object)json_decode($value),
set: fn (array|object $value) => json_encode($value, JSON_FORCE_OBJECT),
);
@DominikStyp
DominikStyp / User.php
Last active January 23, 2024 16:23
Laravel 10 Model: Use query builder to filter User roles
<?php
declare(strict_types=1);
namespace App\Models;
use App\Models\Passport\Client;
use Database\Factories\UserFactory;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Factories\HasFactory;
@DominikStyp
DominikStyp / usersImport.sh
Created January 17, 2024 15:20
CURL request in bash: send access_token request, and second request to import users from file
#!/bin/bash
RESPONSE=$(curl --location --insecure --request POST 'http://server.local/oauth/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=password' \
--data-urlencode 'client_id=123' \
--data-urlencode 'client_secret=456' \
--data-urlencode 'username=admin' \
--data-urlencode 'password=123' \
--data-urlencode 'scopes=full_access email openid')
@DominikStyp
DominikStyp / SomeTest.php
Created November 29, 2023 10:30
Mock HTTP Request, and custom facade in Laravel test (PHPUnit)
<?php
namespace Tests\Feature;
use Symfony\Component\HttpFoundation\Request;
use Tests\TestCase;
class BrandResolveByMultipleDomainsTest extends TestCase
{
@DominikStyp
DominikStyp / upgradeLinuxKernel.sh
Last active November 26, 2023 15:13
Upgrade Linux Kernel + Headers:
#!/bin/bash
# first ensure the system is full updated
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
# first search the proper kernel
apt-cache search linux-image