Files
Investidor-V2/tools/backup-active-document-library.php
T
nala 1106509116
tests / ci (push) Canceled after 0s
vrsao 2
2026-10-08 14:02:01 +02:00

40 lines
1.2 KiB
PHP

<?php
use Illuminate\Contracts\Console\Kernel;
use Illuminate\Support\Facades\DB;
require dirname(__DIR__).'/vendor/autoload.php';
$app = require dirname(__DIR__).'/bootstrap/app.php';
$app->make(Kernel::class)->bootstrap();
if (DB::connection()->getDatabaseName() !== 'investemoz') {
fwrite(STDERR, "Refusing unexpected active database target.\n");
exit(20);
}
$config = config('database.connections.pgsql');
$command = [
'C:/Program Files/PostgreSQL/17/bin/pg_dump.exe', '--host='.$config['host'], '--port='.$config['port'],
'--username='.$config['username'], '--format=custom', '--no-owner', '--no-privileges', '--file='.$argv[1],
$config['database'],
];
$environment = getenv();
$environment['PGPASSWORD'] = $config['password'];
$pipes = [];
$process = proc_open($command, [0 => ['pipe', 'r'], 1 => ['pipe', 'w'], 2 => ['pipe', 'w']], $pipes,
dirname(__DIR__), $environment, ['bypass_shell' => true]);
fclose($pipes[0]);
$stdout = stream_get_contents($pipes[1]);
fclose($pipes[1]);
$stderr = stream_get_contents($pipes[2]);
fclose($pipes[2]);
$exitCode = proc_close($process);
if ($exitCode !== 0) {
fwrite(STDERR, 'pg_dump failed: '.trim($stderr)."\n");
exit($exitCode);
}
echo "Backup completed for investemoz.\n";