как правильно обновлять бд
Привет всем.
Есть две БД, одна для главного сайта (выставлена в Инет), вторая рабочая(в локале). Обе БД находятся на одном хосте, с одним MySQL сервером. Суть проблемы такова, в рабочую БД вносятся добавления, после этого делается export и полученный дамп заливается в главную БД. При этом все изменения касающиеся кол-ва посещений статьи, комменты, голосования, все это затирается. Вопрос, как бы сделать так, чтобы заливались только новые данные, а все что уже было оставалось как есть? |
Eugenek ну можно например для облегчения обновления дб в инете, после каждого обновления тереть рабочию базу, т.е. делать ее нульцовой, а затем делать дамп данных! не таблици.
т.е. что бы дамп содержал в себе только новое добавленное, а не всю базу. |
Извини Soniks , но я что-то не совсем уловил мысль, т.е. сделал обновление, с рабочей на главную, потом что, уничтожаю все записи в рабочей БД, дык там же часть служебной инфы?
А во вторых в чем принципиальное отличие дампа, от экспорта всех таблиц? Я пробовал импортировать даннвые выбирая в PHPmyadmin Тип экспорта "Update" или "Insert", при импорте начинает ругаться, типа такая таблица уже есть :( Поэтому получается только через "Replace" Может я просто чего-то недопонимаю? |
Eugenek попытаюсь объяснить.
когда ты делаешь экспорт таблицы, тот же дамп, если посмотреть файл дампа, то там ты увидишь запросы на создание таблиц в БД и запросы добавления данных в эти таблицы. и поэтому, когда ты делаешь импорт всей базы ты получаешь ошибку, что такая-то таблица уже существует. тебе надо сделать так чтобы в дампе содержались запросы только добавления данных и притом новых, тех которых еще нет. Это все зависит от того добавляете ли вы новые записи в БД или же обновляете старые. Конечно можно попробовать другой вариант: phpmyadmin -> Экспорт -> Снимите галки с "Структура" -> поставьте галку "Игнорировать вставки" -> в поле "Экспорт" выберите нужные таблицы -> Пошел в результате получите дамп, попробуйте его импортировать в основную БД. |
Спасибо Soniks, кажется что-то начало проясняться, запросы на создание таблиц я действительно видел, я даже пробовал галочку метить в chek-box "Добавить IF NOT EXISTS".
Процентов 97, это добавление новых данных, изменяется что-то редко, да и если изменять, можно на месте руками. Попробую вариант с "Игнорировать вставки", я просто не понимал что это означает, а тип экспорта я так понимаю "INSERT". Сейчас попробую, потом отпишу, что получилось. Ну что Soniks. очередной тебе Respect! Как ты и написал сделал так, phpmyadmin -> Экспорт -> Снять галку с "Структура" -> поставить галку "Игнорировать вставки" -> в поле "Экспорт" выберите нужные таблицы -> Пошел Я выбирал все таблицы для пущей проверки и тип экспорта "INSERT", действительно новые данные появились, а старая инфа осталось "новой". Еще раз спасибо! |
Eugenek Всегда пожалуйста :)
|
Часовой пояс GMT +4, время: 00:56. |
Copyright © 2005 by Soniks