Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Создание инсталятора
Форумы портала PHP.SU » PHP » SQL и Архитектура БД » Создание инсталятора

Страниц (1): [1]
 

1. 3d_killer - 02 Апреля, 2014 - 20:29:27 - перейти к сообщению
Добрый вечер всем, занялся написанием инсталятора для интернет магазина, необходимо сделать так чтобы возможно было делать обновления то есть есть например код создания таблицы:

CODE (SQL):
скопировать код в буфер обмена
  1.  
  2. CREATE TABLE `module_reclama` (
  3.         `id` INT(10) NOT NULL AUTO_INCREMENT COMMENT 'Уникальный индификатор',
  4.         `position` INT(10) NULL DEFAULT '0' COMMENT 'Позиция',
  5.         `url` VARCHAR(250) NULL DEFAULT NULL COMMENT 'Адрес на какую страницу ведет реклама',
  6.         `title` VARCHAR(250) NULL DEFAULT NULL COMMENT 'Заголовок картинки',
  7.         `alt` VARCHAR(250) NULL DEFAULT NULL COMMENT 'Описание картинки',
  8.         `name` VARCHAR(250) NULL DEFAULT NULL COMMENT 'Заголовок выведенный на картинке',
  9.         `text` VARCHAR(1000) NULL DEFAULT NULL COMMENT 'Текст на картинке',
  10.         `image` VARCHAR(250) NULL DEFAULT NULL COMMENT 'Сама картинка',
  11.         `visible` INT(1) NULL DEFAULT '0' COMMENT 'Видимость рекламы',
  12.         `noindex` INT(1) NULL DEFAULT '0' COMMENT 'Индексировать или нет',
  13.         PRIMARY KEY (`id`)
  14. )
  15. COLLATE='utf8_general_ci'
  16. ENGINE=InnoDB
  17. AUTO_INCREMENT=6;
  18.  

я хочу сделать если таблица существует то просто она не создавалась но так же далее была проверка полей в этой таблице если поля нет то оно создастся если есть то оставит без изменения, таким образом хочу сделать возможность обновления структуры БД не теряя данные, но как бы не знаю как это все правильно организовать, кто чем может помочь?
2. ingram - 03 Апреля, 2014 - 21:38:07 - перейти к сообщению
CREATE TABLE IF NOT EXISTS - (создать таблицу если она не существует)

По столбцам не немного сложнее, но тоже реализуемо http://www[dot]sql[dot]ru/forum/7475/add-column
3. IllusionMH - 03 Апреля, 2014 - 21:50:55 - перейти к сообщению
3d_killer, посмотрите в сторону реализации подобного в magento
4. esterio - 04 Апреля, 2014 - 12:12:17 - перейти к сообщению
для обновления инет-магазина?
Ух думаю если уже есть какие-то данные и изменилась структура, то может поможет ALTER TABLE, также думаю такую ситуацию разруливать на стороне PHP. Хотя если уже мажорная версия изменений, то ничего так просто не получиться. Там могут быть изменены не тоько поля но и связи
5. 3d_killer - 04 Апреля, 2014 - 18:00:37 - перейти к сообщению
ну не совсем мажорная версия изменений,
база интернет магазина реализована, на ней крутится уже несколько интернет магазинов и перевожу по мере заказов другие, я реализовывал обновление через свой хост каждый магазин обращается за своими обновлениями которые не входят в эту базу, а нужны только ему, то есть например специфика магазина одежды отличается от продуктов питания поэтому у меня разбиты обновления по папкам каждый магазин обращается за своим если они есть он закачивает файлы переименовывает с расширением пхп и дальше запускает скрипт (ну вот как раз на скрипте в данный момент загвоздка)
(Добавление)
IllusionMH вроде что то похожее на правду, щас детально изучу вопрос

 

Powered by ExBB FM 1.0 RC1