Je veux lancer une application en utilisant MySQL sur heroku. J'ai déjà installé et configuré cleardb
à cet effet. Il ne me reste plus qu'à configurer les variables d'environnement. Cependant, je ne peux pas trouver un moyen approprié de le faire.
Comment définir les variables d'environnement de production sur heroku?
dans ce article, Matt explique comment configurer les variables mentionnées:
// config/database.php
$url = parse_url(getenv("CLEARDB_DATABASE_URL"));
$host = $url["host"];
$username = $url["user"];
$password = $url["pass"];
$database = substr($url["path"], 1);
// . . .
'mysql' => array(
'driver' => 'mysql',
'host' => $host,
'database' => $database,
'username' => $username,
'password' => $password,
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
),
Et il dit aussi:
si vous travaillez actuellement sur un site réel, vous devriez être en vous assurant que vous modifiez simplement les informations d'identification de la base de données spécifiquement pour votre environnement de production
Alors, comment exactement les variables d'environnement doivent-elles être configurées en production pour exécuter MySQL en utilisant cleardb
sur heroku?
Merci pour votre réponse! Pouvez-vous s'il vous plaît clarifier les questions suivantes? 1. Est-il garanti que l'URL de la base de données ne sera pas modifiée? Sinon, le codage en dur des informations d'identification ne serait pas une bonne solution. et 2. L'analyse de l'url est-elle dynamiquement sûre? –
En fait, il n'est pas codé en dur parce que c'est un fichier de configuration qui n'a pas besoin d'aller avec vos fichiers source. Si l'URL de la base de données change (ce sera probablement le cas si vous créez une autre base de données), vous pouvez les adapter au serveur. Le seul problème que vous devez prendre en compte est un petit succès de performance car le fichier devra être analysé à chaque requête. La solution pour cela sera de définir ces mêmes variables via la CLI de Heroku. – BeS