Posts tagged doctrine

symfony

Pracowita sobota :)

0

Oficjalnie informuję, że właśnie po długich męczarniach ze zmuszeniem do rozmowy poprzez DLNA ze sobą moich urządzeń w końcu ze słuchawkami na uszach (A State of Trance w eterze offkoz :) ) rozpoczynam pisanie aplikacji dla telemarketingu :)

Założenia są proste jak sama aplikacja – zbieranie danych o firmach z możliwością dopisywania historii w formie wydarzeń i czynności. Powinno pójść bez problemu :)

VN:F [1.9.13_1145]
Oceń ten artykuł:
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.13_1145]
Rating: 0 (from 0 votes)
doctrine

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 :)

VN:F [1.9.13_1145]
Oceń ten artykuł:
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.13_1145]
Rating: 0 (from 0 votes)
Go to Top