Posts tagged windows
Generowanie modeli Doctrine pod Windows
3
Wymyśliłem sobie ostatnio, że spróbuję odpalić Doctrine ORM pod Windowsem XP z zainstalowanym WAMP serwerem. Wszystko szło pięknie do momentu generowania modeli.
Otóż, zgodnie z dokumentacją Doctrine utworzyłem niezbędne pliki oraz strukturę katalogów, plik generate.php:
require_once('bootstrap.php');
Doctrine_Core::dropDatabases();
Doctrine_Core::createDatabases();
Doctrine_Core::generateModelsFromYaml('schema.yml', 'models');
Doctrine_Core::createTablesFromModels('models');
Podczas wywołania z linii komend:
C:/wamp/bin/php/php5.2.11/php D:/www/nazwaProjektu/generate.php
otrzymywałem wynik: Fatal error: Uncaught exception ‘Doctrine_Import_Exception’ with message ‘No yml schema found in schema.yml’ in D:\www\nazwaProjektu\lib\vendor\doctrine\Doctrine\Import\Schema.php:277 i cóż z tym fantem miałem zrobić? Szukałem porad w Google, ale poza kilkoma francuskimi forami nic nie znalazłem. Próbowałem kombinować na wszelkie sposoby z umiejscowieniem pliku schema.yml bez efektu.
W pewnym momencie naszła mnie błyskotliwa myśl
Poczyniłem zmiany, w wyzej wymienionym pliku Schema.php w linii 277 wstawiłem mały kod:
public function importSchema($schema, $format = 'yml', $directory = null, $models = array())
{
...
$array = $this->buildSchema($schema, $format);
if (count($array) == 0) {
mkdir('TUTAJ'); ///////////// TUTAJ WSTAWILEM KOMENDE TWORZĄCĄ KATALOG
throw new Doctrine_Import_Exception(
sprintf('No ' . $format . ' schema found in ' . implode(", ", $schema))
);
}
...
}
Po ponownym wywołaniu z linii komend pliku generate.php kazałem windowsowej wyszukiwarce wyszukać katalog o nazwie TUTAJ, to był strzał w dziesiątkę
Okazało się, że PHP szuka pliku w katalogu z PHP: C:\wamp\bin\php\php5.2.11\
Utworzyłem więc tam katalog models i wrzuciłem do niego schema.yml i zadziałało. Model został poprawnie wygenerowany.
Nie będę teraz opisywał jak poprawić tego buga, to już zostawiam Wam do rozkminienia
Windows 7 RC po polsku :)
0![]()
Właśnie zauwazyłem, że na pasku powiadomień mojego nowego systyemu Windows 7 RC2 pokazały sie dostępne aktualizacje, wchodzę głębiej a tu niespodziewanie pojawia się polski language pack
Co za tym idzie za jakąś chwilę będę miał możliwość korzystania z dobrodziejstw mojej 64bit’owej wersji nowego dziecka Microsotu po polsku.
Oczywiście nieomieszkam opisać co i jak, ale to za jakiś czas, jak już zaznajomię się z nowym polskim interfejsem „siódemki”.