reactiveData/requirements.txt.php
EC2 Default User c5cd899153 BUG: fix
2026-04-02 06:27:52 +00:00

34 lines
1.3 KiB
PHP

<?php
require_once __DIR__. "/.env.php"; // DB_USER, DB_PASS, DB_NAME, DB_HOST
// Setup PDO
$dsn = "mysql:host=".DB_HOST.";dbname=SYS_PRD_BND;charset=utf8mb4";
$options = [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
];
try {
$pdo = new PDO($dsn, DB_USER, DB_PASS, $options);
// Fetch dependencies from PyPi table
// Note: We select LibName. If AliasName represents a specific version or URI, it can be appended.
$stmt = $pdo->query("SELECT LibName, AliasName FROM PyPi ORDER BY LibName");
$requirements = [];
foreach ($stmt as $row) {
// Standard requirements.txt format is usually "PackageName" or "PackageName==Version"
// If AliasName is used for versioning, you could use: $row['LibName'] . "==" . $row['AliasName']
$requirements[] = $row['LibName'];
}
// Build requirements.txt content (Plain Text, one per line)
$output = implode("\n", $requirements);
// Write to file (stdout for Makefile redirection)
file_put_contents('php://stdout', $output . "\n");
file_put_contents("php://stderr", "✅ requirements.txt generated successfully.\n");
} catch (PDOException $e) {
file_put_contents("php://stderr", "❌ Database error: " . $e->getMessage() . "\n");
}