Полностью удалить Entity из Symfony 4

Я изучаю Symfony 4 и только что следовал руководству о базах данных и доктрине. Теперь у меня есть новый объект Product.php со связанным репозиторием ProductRepository.php вместе с новой таблицей в БД. Теперь я хочу удалить этот объект/репозиторий и соответствующим образом обновить базу данных.

Я думал, что могу просто удалить Product.php и запустить php bin/console make:migration:diff.

Однако ничего не меняется. Есть ли какой-то простой список команд для удаления всех ссылок на объект (я не вижу никаких изменений в файлах конфигурации - я использую аннотации) или мне нужно выяснить, какие файлы были созданы/изменены, а затем пойти и вручную удалить Таблица.

php bin/console make:migration:diff генерирует миграцию, сравнивая базу данных и вашу информацию. php bin/console doctrine:migrations:migrate выполнит миграцию.
Maximilian Kaske 22.01.2019 09:32

К счастью, php bin/console make:migration:diff не удаляет таблицы, не являющиеся объектами. Представьте, что у вас есть таблицы, не используемые в сущностях, которые вы хотите сохранить.

Cid 22.01.2019 09:32

Возможный дубликат Удаление таблицы с помощью Doctrine2 и Symfony2

Cid 22.01.2019 09:37
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
4
3
21 578
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете сделать это вручную, удалив эти файлы:

  1. источник/Сущность/Product.php
  2. src/Репозиторий/ProductRepository.php

Если вы сгенерировали CRUD для своего объекта Product, вы должны удалить:

  1. источник/форма/тип продукта.php
  2. src/Контроллер/ProductController.php
  3. templates/product (папка продукта)

Если вы находитесь в рабочей среде, вы должны запустить php bin/console cache:clear, чтобы удалить кеш.

Подумайте, прежде чем обновлять схему базы данных. Для обновления запустите php bin/console d:s:u --force, но помните о последствиях в рабочей среде.

Пожалуйста, не предлагайте запускать doctrine:schema:update в рабочей среде.

malarzm 22.01.2019 12:49

Мы не знаем, действительно ли он находится в производственной среде! Я только хочу уточнить, что схема базы данных не изменится, даже если мы очистим кеш :-)

balzacLeGeek 22.01.2019 12:58

Но вы заявляете: «Если вы находитесь в рабочей среде (...), очистите кеш (...). Затем запустите обновление схемы» - это звучит как совет запускать эти команды в рабочей среде.

malarzm 22.01.2019 16:10

Другие вопросы по теме