Я использую Symfony Framework 6.4, и до сих пор у меня были в использовании ORM 2.19 и DBAL 3.9. Проблема, которую я не могу решить, из -за некоторых разрывов BC, перечисленных здесь для ORM и здесь для DBAL в отношении удаления эмуляции схемы sqlite .
Ситуация:
[*] Производство db (oracle) не находится под моим контролем и имеет все таблицы в схеме/пространстве имен, давайте назовут это my_stuff .
[*] тестирование/dev db - это sqlite, который не поддерживает пространства имен схемы. )] .
[*] В Config/Packages/Dectrine.yaml У меня подключение к SQLite, настроенное для средств Test и dev .
[*] С dbal4/orm3 в тестовых и вставленных светильниках, например, попробуйте вставить в my_stuff.items_view , которые сняты. Со старыми версиями была эмуляция схемы, которая преобразовала имя таблицы в my_stuff__items_view и работал нормально. Схема поддерживает себя, но не может понять, как это сделать. В документах ORM 3 есть пример того, как изменить имена таблиц с помощью слушателя, но он такой же, как в ORM 2, и не работает из -за удаленных функциональности (см. Разрывы BC). < /P>
< H2> Что я попробовал /Идеи: < /h2>
События EventListeners для PostEgenerateSchema < /code> и нагрузки code> Полем К сожалению, я не смог найти способ фактически изменить эту информацию, чтобы отбросить имя схемы или объединить в имя таблицы.
[*] имела идею сделать свою собственную Подкласс orm \ table атрибут, но он помечен как Final .
Попытался установить схему в #[orm \ table (Schema: ' My_stuff ', name:' items_view ')] только в определенной среде, но все значения должны быть постоянными, поэтому в атрибуте не допускается логика. /code>, как указано в Docs для DectrineBundle, чтобы добавить логику, но я должен настроить всю сущность через PHP, не имея возможности использовать атрибуты, верно? < /li>
Было бы неплохо добавить » Имя схемы по умолчанию «на основе соединения, чтобы я мог изменить ее для каждой среды, но это невозможно. < /li>
< /ol>
нет. 1 кажется наиболее перспективным подходом.
Подробнее здесь: https://stackoverflow.com/questions/790 ... -in-produc
Как использовать базу данных SQLite для тестирования, игнорируя название схемы, необходимое для производства ⇐ Php
Кемеровские программисты php общаются здесь
1739262138
Anonymous
Я использую Symfony Framework 6.4, и до сих пор у меня были в использовании ORM 2.19 и DBAL 3.9. Проблема, которую я не могу решить, из -за некоторых разрывов BC, перечисленных здесь для ORM и здесь для DBAL в отношении удаления эмуляции схемы [b] sqlite [/b].
Ситуация:
[*] Производство db (oracle) не находится под моим контролем и имеет все таблицы в схеме/пространстве имен, давайте назовут это my_stuff .
[*] тестирование/dev db - это sqlite, который не поддерживает пространства имен схемы. )] .
[*] В Config/Packages/Dectrine.yaml У меня подключение к SQLite, настроенное для средств Test и dev .
[*] С dbal4/orm3 в тестовых и вставленных светильниках, например, попробуйте вставить в my_stuff.items_view , которые сняты. Со старыми версиями была эмуляция схемы, которая преобразовала имя таблицы в my_stuff__items_view и работал нормально. Схема поддерживает себя, но не может понять, как это сделать. В документах ORM 3 есть пример того, как изменить имена таблиц с помощью слушателя, но он такой же, как в ORM 2, и не работает из -за удаленных функциональности (см. Разрывы BC). < /P>
< H2> Что я попробовал /Идеи: < /h2>
События EventListeners для PostEgenerateSchema < /code> и нагрузки code> Полем К сожалению, я не смог найти способ фактически изменить эту информацию, чтобы отбросить имя схемы или объединить в имя таблицы.
[*] имела идею сделать свою собственную Подкласс orm \ table атрибут, но он помечен как Final .
Попытался установить схему в #[orm \ table (Schema: ' My_stuff ', name:' items_view ')] только в определенной среде, но все значения должны быть постоянными, поэтому в атрибуте не допускается логика. /code>, как указано в Docs для DectrineBundle, чтобы добавить логику, но я должен настроить всю сущность через PHP, не имея возможности использовать атрибуты, верно? < /li>
Было бы неплохо добавить » Имя схемы по умолчанию «на основе соединения, чтобы я мог изменить ее для каждой среды, но это невозможно. < /li>
< /ol>
нет. 1 кажется наиболее перспективным подходом.
Подробнее здесь: [url]https://stackoverflow.com/questions/79070084/how-to-use-sqlite-database-for-testing-ignoring-the-schema-name-needed-in-produc[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия