Здравствуйте,
Допустим есть таблицы объявлений
--
-- Структура таблицы `cars`
--
CREATE TABLE `cars` (
`id` int(10) UNSIGNED NOT NULL,
`brand_id` int(10) UNSIGNED NOT NULL,
`user_id` int(10) UNSIGNED NOT NULL,
`title` varchar(100) NOT NULL,
`text` text NOT NULL,
`first_image_id` int(10) UNSIGNED NOT NULL,
`price` mediumint(8) UNSIGNED NOT NULL,
`car_year` smallint(4) UNSIGNED NOT NULL,
`car_mileage` mediumint(8) UNSIGNED NOT NULL,
`body_id` tinyint(2) UNSIGNED NOT NULL,
`color_id` tinyint(2) UNSIGNED NOT NULL,
`car_engine` smallint(5) UNSIGNED NOT NULL,
`fuel_id` tinyint(1) UNSIGNED NOT NULL,
`transmission_id` tinyint(1) UNSIGNED NOT NULL,
`drive_id` tinyint(1) UNSIGNED NOT NULL,
`car_condition` tinyint(1) UNSIGNED NOT NULL COMMENT '1 - автомобиль новый, 2 - состояние отличное, 3 - хорошее, 4 - битый',
`car_custom` tinyint(1) UNSIGNED NOT NULL COMMENT '1 - растаможка пройдена, 2- не пройдена',
`car_barter` tinyint(1) UNSIGNED NOT NULL COMMENT '1 - бартер возможен, 2 - невозможен',
`status` tinyint(1) UNSIGNED NOT NULL DEFAULT '0' COMMENT '0 - новое объявление, на рассмотрении, 1 - объявление активно, 2 - объявление не активно',
`date` date NOT NULL COMMENT 'Дата создания объявления'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
--
-- Структура таблицы `image_car`
--
CREATE TABLE `image_car` (
`id` int(10) UNSIGNED NOT NULL,
`car_id` int(10) UNSIGNED NOT NULL DEFAULT '0',
`image` varchar(255) NOT NULL,
`thumb` varchar(255) NOT NULL,
`date` date NOT NULL,
`status` tinyint(1) UNSIGNED NOT NULL DEFAULT '0' COMMENT '0 - картинка загружена, но объявление еще не добавлено, 1 - объявление добавлено, 2- объявление удалено'
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;
После добавления объявления пользователем, объявление проходит модерацию. Это все реализовано с помощью поля статус в таблице cars. Но, что если пользователь редактирует объявление? Т.е после того как пользователь отправил новые данные, объявление должно оставаться активным, но новые данные должны пройти модерацию и после этого вступить в силу.
Придумал решение, создать отдельную таблицу temporary_car и хранить редактируемые данные там. После модерации переносить все в основную таблицу и удалять запись из temporary_car. Но в таком случае придется так же создавать временную таблицу для изображений. Просьба помочь советом, как лучше это все организовать. Спасибо!