Russian TYPO3 community Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community  

Вернуться   Russian TYPO3 community > Тематические форумы > Разработка расширений / TYPO3 extension development

Ответ
 
Опции темы Опции просмотра
Старый 09.07.2010, 11:58   #1
serhio
Новенький
 
Регистрация: 21.12.2009
Сообщений: 26
По умолчанию MySQL trigger

Добрый день. Ничего по триггерам не нашел по этому создаю новую тему.

Суть проблемы.
Я создаю экст с помощью kickstarter и при создании одной из таблиц возникла необходимость выводить в одном из полей сумму трех других для лучшей ориентации в be (в качестве метки при создании таблицы в kickstarter выбирается только одно поле, а ориентироваться по одному полю в BE не получается надо по значению 3-х полей). Пример:
поля таблицы
поле1
поле2
поле3
поле4 - (только чтение в BE)
поле4=поле1+поле2+поле3

Как это можно сделать?
Есть идея использовать триггер, но его как я понимаю надо прописать в файле SQL запроса экстеншена что бы при установки экст триггер создавался автоматически. У меня этот вариант не пошол, может чтото не так сделал . В связи с этим вопрос, такой вариант реально сделать?

P.S. просьба строго не судить это мой первый экстеншен.
serhio вне форума   Ответить с цитированием
Старый 12.07.2010, 15:57   #2
serhio
Новенький
 
Регистрация: 21.12.2009
Сообщений: 26
По умолчанию

Что жалко подсказать? Сколько времени прошло ни одного ответа.
serhio вне форума   Ответить с цитированием
Старый 13.07.2010, 17:18   #3
void
Senior Member
 
Аватар для void
 
Регистрация: 14.03.2006
Адрес: Russia, Penza
Сообщений: 1,504
Отправить сообщение для void с помощью ICQ
По умолчанию

Насколько я помню, в SQL-файле расширения допустим только определённый SQL, который может распарсить соответствующий класс ядра.
По-хорошему, подобной денормализацией должен заниматься ORM, но встроенного ORM на данный момент в TYPO3 нет.
Поэтому, возможно, вам стоит добавлять этот триггер при инсталляции расширения. Примерно таким образом, каким расширения делают миграцию схемы данных при обновлении до более новой версии. Кажется, в tt_news что-то такое было.
__________________
TYPO3 FAQ
void вне форума   Ответить с цитированием
Старый 14.07.2010, 01:17   #4
serhio
Новенький
 
Регистрация: 21.12.2009
Сообщений: 26
По умолчанию

Спасибо за ответ.

Триггер добавил в базу в ручную все работает. На счет инсталляции, пробовал запрос добавлять в файл ext_tables.php и после инсталляции запрос появлялся в файле temp_CACHED_ps5e24_ext_tables.php, если не ошибаюсь. Но триггер так и не создался, скорее всего запрос неправильно прописал, разбираться не стал потому что итак время много потратил да и вручную создал. Направление в котором я шел хоть правильное? На счет "миграции схемы данных" будет сложновато я с тайпой всего пол года знаком, внутренностей практически не знаю.
serhio вне форума   Ответить с цитированием
Старый 14.07.2010, 14:51   #5
void
Senior Member
 
Аватар для void
 
Регистрация: 14.03.2006
Адрес: Russia, Penza
Сообщений: 1,504
Отправить сообщение для void с помощью ICQ
По умолчанию

Нет, направление неправильное - если вы пропишете свой запрос в ext_tables, то он будет выполняться при каждом запросе, а вам нужно один раз выполнить запрос, чтобы создать триггер.
__________________
TYPO3 FAQ
void вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB code is Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибки mysql, помогите Manas Установка 3 29.09.2007 13:57
ВЕ TYPO 4.0.4 на MySQL 5.0.27 не отображает русских букв! Юрий Локализация проекта 9 01.03.2007 20:16
sr_feuser_register и MySQL error OpTi Общие вопросы 3 02.01.2007 04:10
MySQL 4.1 или MySQL 5.x Valery Romanchev TYPO3 хостинг 5 06.06.2006 20:27
Warning: mysql.... beerking Общие вопросы 1 05.04.2005 20:15


Часовой пояс GMT +4, время: 13:11.


Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot

Хостинг и техническая поддержка: TYPO3 Лаборатория