Перейти к содержанию

Рекомендуемые сообщения

Приветствую. У меня возникла необходимость выполнения sql запроса к базе при установке модуля. Так как модуль меняет структуру таблицы опенкарта и префиксы бывают разные - это стоит учитывать.

Каким образом необходимо указывать в install.php sql запрос который надо выполнить при установке модуля?

 

И ещё такой вопрос, на хостингах сработает ли запрос к INFORMATION_SCHEMA? Или стоит как-нибудь по-другому обратиться к структуре таблицы?

<?php

	$check_column = $this->db->query("
    SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = '" . DB_DATABASE ."' AND TABLE_NAME = '" . DB_PREFIX . "product_option_value' AND COLUMN_NAME = 'a24_delivery'");

	if(!$check_column->num_rows){
        $this->db->query("ALTER TABLE `" . DB_PREFIX . "product_option_value` ADD a24_delivery VARCHAR(255)");
    }

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
	$query = $this->db->query("DESC ".DB_PREFIX."product xyz");
    if (!$query->num_rows) { 
        $this->db->query("ALTER TABLE `" . DB_PREFIX . "product` ADD `xyz` int(11) default '0'");
    }

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
2 часа назад, Maximbl4m сказал:

Приветствую. У меня возникла необходимость выполнения sql запроса к базе при установке модуля. Так как модуль меняет структуру таблицы опенкарта и префиксы бывают разные - это стоит учитывать.

Каким образом необходимо указывать в install.php sql запрос который надо выполнить при установке модуля?

 

Если заглянуть в обработку патча (то есть файла install.sql), то в коде видно, что префиксы таблиц подставляются автоматически.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.