Files
2026-09-03 12:21:17 +02:00

111 lines
4.5 KiB
PHP

<?php
use Illuminate\Support\Str;
/*
|--------------------------------------------------------------------------
| SoftSPM_2 - konfiguracja baz danych (nakładka na szkielet Laravela)
|--------------------------------------------------------------------------
| Podejście DATABASE-FIRST: pracujemy na istniejącym schemacie MariaDB
| (NIE zmieniamy struktury). Trzy osobne bazy:
| - softspm → dane operacyjne (tabele seg_/sys_/tst_) [domyślna]
| - softspm_rep → tabele raportowe (rep_)
| - softspm_his → historia (tabele _his)
|
| Wartości pobierane z .env (ustawiane na serwerze testowym). Sterownik
| 'mariadb' wymaga Laravel 11+. Wszystkie 3 bazy stoją na tym samym hoście,
| ale trzymamy je jako odrębne połączenia - modele wskazują swoje przez
| właściwość $connection.
*/
return [
'default' => env('DB_CONNECTION', 'softspm'),
'connections' => [
// === Baza operacyjna (domyślna) ===
'softspm' => [
'driver' => 'mariadb',
'host' => env('DB_HOST', '10.42.1.210'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'softspm'),
'username' => env('DB_USERNAME', 'spm_local'),
'password' => env('DB_PASSWORD', 'ff8efe59e7265fe9680b0c325e44cb53'),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8',
'collation' => 'utf8_general_ci', // zgodnie z SET NAMES utf8 w legacy
'prefix' => '',
'prefix_indexes' => true,
'strict' => false, // legacy schema - wyłączamy ONLY_FULL_GROUP_BY itd.
'engine' => null,
],
// === Baza raportowa ===
'softspm_rep' => [
'driver' => 'mariadb',
'host' => env('DB_REP_HOST', env('DB_HOST', '10.42.1.210')),
'port' => env('DB_REP_PORT', env('DB_PORT', '3306')),
'database' => env('DB_REP_DATABASE', 'softspm_rep'),
'username' => env('DB_REP_USERNAME', env('DB_USERNAME', 'spm_local')),
'password' => env('DB_REP_PASSWORD', env('DB_PASSWORD', 'ff8efe59e7265fe9680b0c325e44cb53')),
'charset' => 'utf8',
'collation' => 'utf8_general_ci',
'prefix' => '',
'strict' => false,
'engine' => null,
],
// === Baza historyczna ===
'softspm_his' => [
'driver' => 'mariadb',
'host' => env('DB_HIS_HOST', env('DB_HOST', '10.42.1.210')),
'port' => env('DB_HIS_PORT', env('DB_PORT', '3306')),
'database' => env('DB_HIS_DATABASE', 'softspm_his'),
'username' => env('DB_HIS_USERNAME', env('DB_USERNAME', 'spm_local')),
'password' => env('DB_HIS_PASSWORD', env('DB_PASSWORD', 'ff8efe59e7265fe9680b0c325e44cb53')),
'charset' => 'utf8',
'collation' => 'utf8_general_ci',
'prefix' => '',
'strict' => false,
'engine' => null,
],
],
/*
| Migracje Laravela trzymamy w bazie operacyjnej. UWAGA: w podejściu
| database-first migracji raczej nie uruchamiamy na istniejących tabelach
| - służy głównie tabelom pomocniczym (sessions, cache, jobs).
*/
'migrations' => [
'table' => 'migrations',
'update_date_on_publish' => true,
],
'redis' => [
'client' => env('REDIS_CLIENT', 'phpredis'),
'options' => [
'cluster' => env('REDIS_CLUSTER', 'redis'),
'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'softspm'), '_').'_database_'),
],
'default' => [
'url' => env('REDIS_URL'),
'host' => env('REDIS_HOST', '127.0.0.1'),
'username' => env('REDIS_USERNAME'),
'password' => env('REDIS_PASSWORD'),
'port' => env('REDIS_PORT', '6379'),
'database' => env('REDIS_DB', '0'),
],
'cache' => [
'url' => env('REDIS_URL'),
'host' => env('REDIS_HOST', '127.0.0.1'),
'username' => env('REDIS_USERNAME'),
'password' => env('REDIS_PASSWORD'),
'port' => env('REDIS_PORT', '6379'),
'database' => env('REDIS_CACHE_DB', '1'),
],
],
];