Тема: Обновление структуры Propel после изменения базы

Скажите, я добавил новое поле в карточке пользователя, написал в шаблоне код, добавил это поле в базу, но методы пропела не работаю, как обновить стурктуру и классы, чтобы сгенерировать новую структуру классов на основе имеющей базы данных?

Так как метод который я добавил егго в класах нет:

'country' => $profile->getCountry(),

А именно - getCountry

Подскажите в какую сторону плясать, так как с пропилом я ны вы.

Сделаю обновления вашего магазина до актуальной версии системы со вем переносом ваших товаров, просьба писать в приват.
https://novabench.com/image/742206.png

2

Re: Обновление структуры Propel после изменения базы

Здравствуйте. Само поле сначала нужно описать в файле application/modules/shop/schema.xml

+ открыть спойлер

http://pix.toile-libre.org/upload/original/1473092482.png

А потом перегенерировать модели пропела командой в консоле application/third_party/bin/propel --verbose build (в консоле должен быть доступен PHP), чтобы сгенерировались методы по работе с этим полем

ImageCMS PHP Team Lead
https://github.com/imagecms/ImageCMS - ночные сборки корпорейта
https://scrutinizer-ci.com/g/imagecms/ImageCMS/badges/quality-score.png?b=development https://codeclimate.com/github/imagecms/ImageCMS/badges/gpa.svg

Thumbs up Thumbs down

3

Re: Обновление структуры Propel после изменения базы

В старой я так и не добился результата, так как там по другому реализовано со старой версией Propel, в итоге бросил эту затею, а очень жаль, хотел до конца разобраться.

Сделаю обновления вашего магазина до актуальной версии системы со вем переносом ваших товаров, просьба писать в приват.
https://novabench.com/image/742206.png

4

Re: Обновление структуры Propel после изменения базы

Выполнил команду в ssh и получил ворнинги:

-bash-4.1$ application/third_party/bin/propel --verbose build
PHP Warning:  include(propel.php) [<a href='function.include'>function.include</a>]: failed to open stream: No such file or directory in [полный путь на сервере]/application/third_party/bin/propel on line 4
PHP Warning:  include() [<a href='function.include'>function.include</a>]: Failed opening 'propel.php' for inclusion (include_path='.:/usr/local/zend-5.2/share/pear') in [полный путь на сервере]/application/third_party/bin/propel on line 4
Content-type: text/html

<br />
<b>Warning</b>:  include(propel.php) [<a href='function.include'>function.include</a>]: failed to open stream: No such file or directory in <b>[полный путь на сервере]/application/third_party/bin/propel</b> on line <b>4</b><br />
<br />
<b>Warning</b>:  include() [<a href='function.include'>function.include</a>]: Failed opening 'propel.php' for inclusion (include_path='.:/usr/local/zend-5.2/share/pear') in <b>[полный путь на сервере]/application/third_party/bin/propel</b> on line <b>4</b><br />

Версия 4.8.1 Premium

Профессиональное создание сайтов любой сложности, аудит, продвижение, а также поддержка вашего интернет ресурса - web2life.ru

TIMEWEB > Всегда больше, чем просто хостинг для ImageCMS!

5

Re: Обновление структуры Propel после изменения базы

Я так понял, не может найти propel.php, так как в файле указано просто include('propel.php');

Профессиональное создание сайтов любой сложности, аудит, продвижение, а также поддержка вашего интернет ресурса - web2life.ru

TIMEWEB > Всегда больше, чем просто хостинг для ImageCMS!

6

Re: Обновление структуры Propel после изменения базы

для 4.8.1 попробуйте так

cd application/modules/shop/models2
../../../third_party/bin/propel --verbose build
ImageCMS PHP Team Lead
https://github.com/imagecms/ImageCMS - ночные сборки корпорейта
https://scrutinizer-ci.com/g/imagecms/ImageCMS/badges/quality-score.png?b=development https://codeclimate.com/github/imagecms/ImageCMS/badges/gpa.svg

Thumbs up Thumbs down

7

Re: Обновление структуры Propel после изменения базы

Тот же ворнинг. Нашел ещё такой путь - /application/third_party/propel/propel/bin
Может это оно?

Профессиональное создание сайтов любой сложности, аудит, продвижение, а также поддержка вашего интернет ресурса - web2life.ru

TIMEWEB > Всегда больше, чем просто хостинг для ImageCMS!

8

Re: Обновление структуры Propel после изменения базы

завел у себя 4.8.1, нужно его обновить. Вот что нужно сделать:

+ открыть спойлер
  • cd application

  • php composer.phar selfupdate

  • php composer.phar selfupdate - второй раз чтобы обновился до актуальной 1.2.1
    http://image.prntscr.com/image/2f41b6ed17784e858ac36b6a8a4b9a72.png

  • php composer.phar update --no-dev -o http://image.prntscr.com/image/daf7e7eb26bc4f4db1b0d4ec29b1bbaf.png

  • отвечаем "y" и ждем загрузки всех обновлений http://image.prntscr.com/image/d34119588d994cc085c79cd2427a5eef.png

  • cd modules\shop\models2

  • ..\..\..\third_party\bin\propel --verbose build
    http://image.prntscr.com/image/673c99211af04e62b18c00620bed2d90.png

ImageCMS PHP Team Lead
https://github.com/imagecms/ImageCMS - ночные сборки корпорейта
https://scrutinizer-ci.com/g/imagecms/ImageCMS/badges/quality-score.png?b=development https://codeclimate.com/github/imagecms/ImageCMS/badges/gpa.svg

Thumbs up Thumbs down

9

Re: Обновление структуры Propel после изменения базы

-bash-4.1$ php composer.phar selfupdate
PHP Fatal error:  Class 'Phar' not found in [путь на сервере]/application/composer.phar on line 23
Content-type: text/html
<br />
<b>Fatal error</b>:  Class 'Phar' not found in <b>[путь на сервере]/application/composer.phar</b> on line <b>23</b><br />

Phar подключен - https://www.dropbox.com/s/8zd0r3wga8insq7/phar.PNG?dl=0 Лучше бы вы active record использовали smile Тяжело это заводить, особенно если не выделенные сервера. У многих хостинг, где даже модулей каких-то не хватает.

Профессиональное создание сайтов любой сложности, аудит, продвижение, а также поддержка вашего интернет ресурса - web2life.ru

TIMEWEB > Всегда больше, чем просто хостинг для ImageCMS!

10

Re: Обновление структуры Propel после изменения базы

Сейчас вернулся к этому вопросу. На выделенном сервере обновление композера работает на обычном хостинге нет, хотя phar подключен. Мучаю ТП хостера, но можно как-то тестировать не на денвере или опенсервере, а на приближенных к реальности обычных хостингах?

Профессиональное создание сайтов любой сложности, аудит, продвижение, а также поддержка вашего интернет ресурса - web2life.ru

TIMEWEB > Всегда больше, чем просто хостинг для ImageCMS!