Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Апгрейд существующей структуры новой версией
 
 автор: sl1p   (15.06.2011 в 13:24)   письмо автору
 
 

Имеется старая база и новая(сильно отличающаяся от старой)
Но в них могут быть одинаковые таблицы.

Каким образом сделать следующее не прибегая к рассмотрению каждой таблицы в отдельности:

Если таблицы нет - добавляем, тут просто -- IF NOT EXISTS.
НО, если таблица существует, нужно добавить в неё колонки которых нет в старой, но есть в новой таблице. Своего рода array_merge :)

Можно даже рассмотрение каждой таблицы, но както автоматом делать этот самых array_merge...

  Ответить  
 
 автор: cheops   (15.06.2011 в 13:33)   письмо автору
 
   для: sl1p   (15.06.2011 в 13:24)
 

Автоматических средств нет, нужно либо в ручную это делать, либо писать скрипт, который будет сравнивать таблицы.

  Ответить  
 
 автор: sl1p   (15.06.2011 в 13:42)   письмо автору
 
   для: cheops   (15.06.2011 в 13:33)
 

пичалька, спасибо :)

  Ответить  
 
 автор: sl1p   (15.06.2011 в 13:50)   письмо автору
 
   для: cheops   (15.06.2011 в 13:33)
 

хмхм а ещё такой вопрос, как апгрейднуть данные? Т.е. нужно сделать INSERT только тех данных которых нет в старой таблице(например где `oldTable`.`value` != `newTable`.`value`

  Ответить  
 
 автор: cheops   (15.06.2011 в 14:37)   письмо автору
 
   для: sl1p   (15.06.2011 в 13:50)
 

От данных зависит, в общем случае, нужно проверять запросом есть такие данные или нет. Возможно, имеет смысл сформировать дампы таблицы и неспеша сравнить их PHP-скриптом. В общем тоже придется поработать.

  Ответить  
 
 автор: sl1p   (15.06.2011 в 15:09)   письмо автору
 
   для: cheops   (15.06.2011 в 14:37)
 

хех ну я уже принялся писать..


Насчет данных: т.е. лишь функционалом бд не обойтись тоже?

  Ответить  
 
 автор: cheops   (15.06.2011 в 15:43)   письмо автору
 
   для: sl1p   (15.06.2011 в 15:09)
 

Есть оператор REPLACE, но помоему в реальных задачах вроде этой он совершенно бесполезен. Хотя может он вам и пригодится, если у вас строки один в один совпадают (он заменяет строку или вставляет новую, если её нет в базе данных).

  Ответить  
 
 автор: sl1p   (15.06.2011 в 16:20)   письмо автору
 
   для: cheops   (15.06.2011 в 15:43)
 

вобщем ясно :)

спасибо ещё раз)

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования