Задать вопрос

Как расширить БД (добавить поля к таблицам) в symfony 1.4?

Нужно добавить поля к некоторым таблицам. Я так понимаю нужно отредактировать yml файл schema. Нужно что б symfony подхватило, добавило поля к таблицам в БД и методы к уже созданым классам. Как это сделать?
  • Вопрос задан
  • 4075 просмотров
Подписаться 3 Оценить 2 комментария
Пригласить эксперта
Ответы на вопрос 2
@nutz
Проще всего здесь использовать миграции (хотя поначалу мне это казалось громоздким, но в итоге очень удобно).
внесли изменения в schema.yml
./symfony doctrine:generate-migrations-diff — создали скрипты для изменения таблиц (конкретно тут — скрипты строятся на основе разницы между имеющимися моделями и базой)
./symfony doctrine:migrate — применили изменения в базе
./symfony doctrine:build-model — сгенерировали модель по schema.yml
Ответ написан
Если у вас уже готовая база данных, так отредактируйте поля в schema.yml, потом сгенерите модели, формы и филтры (php symfony propel:build-model, -form, -filter). Напишите ALTER TABLE и отредактируйте базу данных в ручную, потому что (как минимум Propel) перезаписывает базу данных, удаляя все таблицы!!! Внимательно читайте что у вас спрашивает Symfony. В помощь вам data/sql/lib.model.data.sql, примерно в таком файле должна быть структура всей базы данных (так легче писать алтер тэйблы).
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы