В результате ошибки потеряны ваши (и мои!) сообщения за 16 июня. Во время бета периода shit happens. Надеюсь, вы нафлудите еще очень много полезного и прятного нацпола.
Мы так однажды проебали боевую базу на госуслугах с заявлениями за несколько дней. DBA пришлось заявки выгребать из логов и каждому звонить заявителю извиняться лично. Трое суток восстанавливали.
Аааа, ну и тогда пофиг. Сломалось и сломалось. Зато все знают теперь как оно ломается. Ну и баз может быть несколько для сообщений отдельная. Если бы я делал лор яб делал несколько баз, вот и подумалось =)
Я хотел написать что никогда не видел чтоб так прод базу испортили, а потом вспомнил как я, будучи эникеем, случайно удалил sendmail файл с сервера в котором были все не доставленные письма. Это была середина 2000-х.
блин) хотел ссылку кинуть, а нету этого сообщения.) потому что торн и некоторые другие жаловались, что они слишком ярко-зеленые. я пока ничего оригинального не придумал и сделал их временно серыми. вот, жду, когда вы жаловаться начнете)
я их ярко-зелеными сделать не могу, т.к. жалобы. темно-зелеными они смотрятся слишком уныло. сделал бы их тоже голубыми, но вы их тогда со ссылками будете путать и кликать на них)) прям пока голову ломаю=)
В поиске только разметка отсутствует, так что цитирование будет испорчено. Кстати, цитирование можно было бы и не индексировать, но наверное лексический разбор делать сложно, потому попадает в индекс весь текст.
таблица с полями id:текст:версия - в нее можно только добавлять новое
таблица с полями id:[<список версий>]
Таблица 2 строится на основе таблицы 1, т.е. восстанавливаемая, и в нее можно и нужно делать UPDATE.
Когда добавляется новое сообщение, то ему присваивается версия 0, и автоматом в таблице 2 создается запись с id:[0]
Когда сообщение исправляется, то сперва смотрим в таблицу 2 и берем максимальную версию из списка. Делаем insert в таблицу 1 с версией увеличенной на 1 и записываем новую версию в список версий в таблице 2: id:[0,1]
Таким образом от ошибок кода самого сервера, который может потереть сообщения, защитит отсутствие UPDATE или DELETE в коде в отношении таблицы 1, а от ошибок самого SQL сервера защитит наличие резервного SQL сервера, куда параллельно все будет писаться
cvs-255     ★★★★★ Последнее исправление: cvs-255 (всего исправлений: 1) Linux / Firefox