Добавление новых таблиц в Propel и Symfony

Я новичок в Propel и Symfony. Ну на самом деле больше Propel, чем Symfony. Я работаю над уже существующим проектом, и моя задача - расширить его базу данных для некоторых новых функций. Я прочитал руководство для Propel и Symfony, но до сих пор не понимаю, есть ли у меня уже новая структура, где мне разместить описание новых таблиц и как их регенерировать, чтобы были классы.

Также я использую старую версию Symfony 1.2

Спасибо за помощь.


person Eugene    schedule 24.03.2011    source источник


Ответы (2)


После того, как вы добавили определения таблиц в schema.yml или schema.xml, в зависимости от того, что вы используете, вы можете перестроить модели, формы и фильтры, используя:

symfony propel:build-model

symfony propel:build-forms

symfony propel:build-filters

Это создаст базовые модели и формы вместе с каркасными формами, которые вы можете редактировать в lib/model и lib/form

Затем вы можете создать схему SQL из моделей, определенных в schema.xml или schema.yml, используя следующую команду:

symfony propel:build-sql - в папке data / sql будет создан файл. Что-то вроде lib.model.schema.sql

Вы можете открыть этот файл в текстовом редакторе, а затем просто скопировать новые таблицы и вставить код для создания новых таблиц в phpmyadmin.

person terrid25    schedule 24.03.2011
comment
Удалит ли какая-либо из этих операций данные из моей базы данных, если они там уже существуют? - person Eugene; 28.03.2011
comment
Нет, они не должны ничего удалять. Но будьте осторожны, если вы вставляете SQL из встроенных файлов SQL. Команды, которые я упомянул, просто обновляют ваши модели. Вы можете получить сообщение об отсутствии таблицы / поля, но вы можете добавить это через phpmyadmin. - person terrid25; 21.04.2011

Я действительно думаю, что вам следует пройтись по руководству по symfony 1.2 и создать свой собственный простой тестовый проект, чтобы познакомиться с symfony.

Вот несколько ссылок:

http://www.symfony-project.org/book/1_2/ там " Внутри слоя модели "

А также полезно: http://www.symfony-project.org/reference/1_2/en/

После этого вы можете задавать более конкретные вопросы, на которые будет более «ответственно» :)

person floplus    schedule 24.03.2011