Bonjour,
Je rencontre une difficulté à utiliser PHINX pour faire les migrations. Je suis la formation "Mise en pratique de la POO en PHP" et je me situe au Chapitre "Finitions du blog" Je découvre le problème au moment où je veux ajouter la migration addPublishedToPost.

Ce que je fais

Voici la commande que j'utilise pour créer une nouvelle migragtion.

./vendor/bin/phinx create addPublishedToPost

Ici, c'est le fichier de configuration de Phinx.php à la raçine de mon projet:

<?php
require 'public/index.php';

$migration = [];
$seeds = [];
foreach ($modules as $module) {
    if (!is_null($module::MIGRATIONS)) {
        $migration [] = $module::MIGRATIONS;
    }
    if (!is_null($module::SEEDS)) {
        $seeds [] = $module::SEEDS;
    }
}
return
[
    'paths' => [
        'migrations' => $migration,
        'seeds' => $seeds
    ],
    'environments' => [
        'default_database' => 'development',
        'development' => [
            'adapter' => 'mysql',
            'host' => $app->getContainer()->get('database.host'),
            'name' => $app->getContainer()->get('database.name'),
            'user' => $app->getContainer()->get('database.username'),
            'pass' => $app->getContainer()->get('database.password'),
            'port' => '3306',
            'charset' => 'utf8'
        ]
    ]
];

Ce que je veux

Je veux pouvoir continuer à faire mes migrations sans sans passer par un gestionnaire de base de données.

Ce que j'obtiens

Ici, c'est le message d'erreur qui s'affiche dans mon terminal

Phinx by CakePHP - https://phinx.org. 0.10.6
using config file ./phinx.php
using config parser php
using migration paths
 - /home/econnect/www/ecframework/src/Blog/db/migrations
using seed paths
 - /home/econnect/www/ecframework/src/Blog/db/seeds
In Create.php line 176:
The migration class name "addPublishedToPost" is invalid. Please use CamelCase format.
create [-c|--configuration CONFIGURATION] [-p|--parser PARSER] [-t|--template TEMPLATE] [-l|--class CLASS] [--path PATH] [--] <name>

1 réponse


Lartak
Réponse acceptée

Bonjour.
Si tu regardes bien le message d'erreur il y est dit :

The migration class name "addPublishedToPost" is invalid. Please use CamelCase format.

Il te faut donc modifier le nom de la classe addPublishedToPost par AddPublishedToPost.