M0 Check DB Testdata

This commit is contained in:
2026-07-12 00:12:02 +02:00
parent 2e6d79e896
commit d9e70ce353
19 changed files with 886 additions and 28 deletions
+42
View File
@@ -0,0 +1,42 @@
<?php
declare(strict_types=1);
function dev_required_env(string $name): string
{
$value = getenv($name);
if ($value === false || trim($value) === '') {
fwrite(STDERR, "Missing environment variable: {$name}\n");
exit(1);
}
return $value;
}
function dev_pdo(): PDO
{
$dsn = sprintf(
'mysql:host=%s;port=%s;dbname=%s;charset=utf8mb4',
dev_required_env('DB_HOST'),
getenv('DB_PORT') ?: '3306',
dev_required_env('DB_NAME')
);
return new PDO($dsn, dev_required_env('DB_USER'), dev_required_env('DB_PASS'), [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES => true,
]);
}
function dev_apply_schema(PDO $pdo): void
{
$schema = file_get_contents(__DIR__ . '/../database/mysql-dev-schema.sql');
if ($schema === false) {
fwrite(STDERR, "Could not read schema file.\n");
exit(1);
}
$pdo->exec($schema);
}