Но прежде чем он обновит, нужно сохранить(может быть скопировать) содержимое таблицы чтобы после того как скрипт обновит данные, можно было в любой момент откатить-восстановить до прежнего значения.
Никогда не сталкивался, подскажите как можно решить эту задачу?
Спасибо!
Спустя 3 минуты, 12 секунд (26.06.2012 - 12:20) Placido написал(а):
А в каких случаях будет производиться откат? С помощью транзакций не получится решить?
Спустя 19 минут, 27 секунд (26.06.2012 - 12:39) S-17 написал(а):
на самом деле ситуация сложная, работаю с самописным движком - интернет магазин. Лично мне кажется что откат не нужен вообще, но вот шеф его хочет.
Аргументов не достаточно и поэтому нужно делать))
В данный момент наличии товаров делается ручками, после будет это делать модуль.Но там есть подводные камни, т.к. в идеале загружается прайс поставщика и после этого сопоставляется с теми позициями что есть, соответственно товары которых нет - уходят, новые - становятся активными.
Вот я и думаю...как сделать так, чтобы можно было как-то сохранить из таблицы значения ID и Active. Чтобы после обработки, можно было вернуть значения назад.
Аргументов не достаточно и поэтому нужно делать))
В данный момент наличии товаров делается ручками, после будет это делать модуль.Но там есть подводные камни, т.к. в идеале загружается прайс поставщика и после этого сопоставляется с теми позициями что есть, соответственно товары которых нет - уходят, новые - становятся активными.
Вот я и думаю...как сделать так, чтобы можно было как-то сохранить из таблицы значения ID и Active. Чтобы после обработки, можно было вернуть значения назад.
Спустя 5 минут, 30 секунд (26.06.2012 - 12:45) alexbel2404 написал(а):
system('mysqldump -uUSER -pPASSWORD --database dbname > /var/backups/backup.sql');
Если не запрещены ф-ии system, exec и т.д.
Вот еще инфа для изучения ) http://www.askdev.ru/php/4370/%D0%9A%D0%B0...0%BD%D0%B0-php/
Спустя 4 минуты, 26 секунд (26.06.2012 - 12:49) S-17 написал(а):
Спасибо большое, Алекс, что откликнулся. Инфа действительно стоющая. Надо только у хостера узнать, реально это или нет.
А как быть если нужна только таблица из бд? Делать полный дамп не имеет смысла вообще из-за ее объёмности
И еще вопрос, следом...а какой функцией можно сделать восстановление из этой резервной копии, желательно после нажатия кнопки, чтобы стартовал откат.
А как быть если нужна только таблица из бд? Делать полный дамп не имеет смысла вообще из-за ее объёмности
И еще вопрос, следом...а какой функцией можно сделать восстановление из этой резервной копии, желательно после нажатия кнопки, чтобы стартовал откат.
Спустя 21 час, 40 минут, 59 секунд (27.06.2012 - 10:30) S-17 написал(а):
товарищи, очень нужен ответ
Спустя 38 минут, 32 секунды (27.06.2012 - 11:09) sergeiss написал(а):
Цитата (S-17 @ 26.06.2012 - 13:39) |
в идеале загружается прайс поставщика и после этого сопоставляется с теми позициями что есть, соответственно товары которых нет - уходят, новые - становятся активными. Вот я и думаю...как сделать так, чтобы можно было как-то сохранить из таблицы значения ID и Active. Чтобы после обработки, можно было вернуть значения назад. |
А я вообще не понял. Ты делаешь лишнюю работу. ЗАЧЕМ ты записываешь данные в таблицу, если заведомо часть их будет удалена? Не проще ли сделать обработку ДО записи в БД, и только нужные записи сохранить/проапдейтить?
Спустя 6 часов, 29 минут, 21 секунда (27.06.2012 - 17:38) S-17 написал(а):
это не моя прихоть....
Спустя 58 минут, 15 секунд (27.06.2012 - 18:36) Placido написал(а):
Решение в лоб (вами же предложенное) чем не подходит? Создаем таблицу `backup`
Если нужно внести изменение в таблицу `yourtable`, делаем бекап:
Правим данные в таблице `yourtable`. Потом, если нужно, восстанавливаем первоначальное состояние:
CREATE TABLE `backup` LIKE `yourtable`;
Если нужно внести изменение в таблицу `yourtable`, делаем бекап:
TRUNCATE TABLE `backup`;
INSERT INTO `backup` SELECT * FROM `yourtable`;
Правим данные в таблице `yourtable`. Потом, если нужно, восстанавливаем первоначальное состояние:
TRUNCATE TABLE `yourtable`;
INSERT INTO `yourtable` SELECT * FROM `backup`;
Спустя 2 минуты, 52 секунды (27.06.2012 - 18:39) S-17 написал(а):
Вот же блин)))
Спасибо огромное!!!
Спасибо огромное!!!