1 Отредактировано Inter (2012-08-05 17:28:05)

Тема: Как перенести папку build на рабочий сайт?

Здравствуйте!
Подскажите как перенести папку build на рабочий сайт
Проблема вот в чём -
название и префикс БД на раб сайте другие - а эти данные вшиты в файлы, которые сгенерировал propel - MyPeer.php, MyQuery.php

propel-1.6.7-6...

упс - я использую propel без symfony отдельно

2

Re: Как перенести папку build на рабочий сайт?

Перегенерировать классы Пропела непосредственно на сервере?
Создать локальную копию проекта, настроенную на нужное название и префикс БД, перегенерировать классы локально и залить?

Чудес не бывает. Если эти данные _вшиты_ в сгенерированное файло, то единственный адекватный ответ - перегенерация. Привет Пропелу.

3

Re: Как перенести папку build на рабочий сайт?

просто я делаю мод для тысячи сайтов и для каждого вручную ковырять
пропел мне нужен из-за nested sets
В Doctrine тоже данные вшиваются?
я её ещё не асилил

4

Re: Как перенести папку build на рабочий сайт?

Inter пишет:

просто я делаю мод для тысячи сайтов и для каждого вручную ковырять

Ну, тогда тут особо нечего посоветовать... Или городить какую-то надстройку поверх Пропела, которая будет править все нужное в сгенерированном пропеловском говне. Или править сам генератор Пропела, что врядли будет просто и является хорошей идеей - у него, если мне не изменяет память, генератор весь захардкоден (смотрел последний раз его очень давно, но сомнения, что там что-то кардинально изменилось).

Inter пишет:

пропел мне нужен из-за nested sets

Этого добра и в Доктрине хватает... Более того, во второй Доктрине есть еще и целых две реализации Materialized path. Если избыточность данных не является критическим параметром, то он гораздо быстрее NS на операциях вставки/изменения, и одинаково быстрый с NS на выборку.

Inter пишет:

В Doctrine тоже данные вшиваются?

Нет. Более того - там вообще не генерится три метра говна на каждые 10 табличек. Подход совершенно другой, особенно у двойки. При переходе с Пропела на первую Доктрину может возникнуть проблема производительности - Пропел намного шустрее первой версии и ест меньше памяти. Лучше сразу на вторую Доктрину переходить, если проект позволяет.