Davidaa_WoW, мягкий сарказм - это прекрасно, продолжайте в том же духе.
Но мне правда лень читать вам лекцию про управление сложностью, которую вы к тому же пока, скорее всего, не поймете и продолжите спорить. Давайте максимально просто: не мешайте мух с котлетами, не пишите в таблицы по возможности НИКАКИХ данных, которые относятся к данным ДРУГИХ таблиц. Только связи. Так вы избежите колоссального количества никому не нужных грабель.
Davidaa_WoW, открою вам страшную тайну: корзина и заказ - это разные вещи, и на этапе, пока корзина активна (то есть может быть изменена) - никакого заказа еще просто нет.
Davidaa_WoW, довольно трудно объяснить человеку, который впервые взял в руки пилу, что легкость выпиливания квадратного колеса отнюдь не принципиальна. Может, вы просто поверите, что занимаетесь ерундой и потерпите, пока наберете побольше опыта и вам это тоже станет очевидным?
Добавьте в таблицу заказов время создания, замените "активный" на "последний" - сразу станет проще.
Можете добавить туда же флаг - активен еще этот заказ или нет, если он может быть последним, но неактивным.
И выкиньте это нелепое поле из таблицы пользователей, не имеющей никакого отношения к жизни заказов.
pfg21, вообще-то ТС хочет линь на ноут натянуть. Без закрытого кода драйверов и прошивок у него половина железа отвалится. А дистриба, который он хочет - чтобы он ткнул в одну кнопку, не разбираясь, а ему при этом кто-то очень честный гарантировал, что никто за ним ничего не пишет - просто не существует. Собственно, и писать-то за ним будет не дистрибутив, а программулины, которые он натыкает в систему - не разбираясь. Начиная с Яндекс.Браузера, например.
Так что вопрос просто изначально смысла не имеет.
Я слышал, что опытные специалисты любят принимать участие в интересных проектах.
Это не только вы слышали. Менеджмент, который хочет зарабатывать побольше, а платить исполнителям поменьше, слышал об этом поголовно. И каждый из них пытается таким образом мотивировать исполнителей. Которые, в свою очередь, уже поголовно в курсе подобных "разводов на интерес" - и воспринимают их так, как должно: как манипуляцию и неуважение. Поэтому если вы вдруг правда выйдете на специалиста (в чем я, правда, сомневаюсь) - не вздумайте даже озвучивать подобные формулировки, сразу уроните себе реноме.
evomed, юзер набрал корзину.
В таблицу накиданы записи: товар, количество. Все остальное - NULL, юзеру оно отображается из текущих данных по товарам.
Юзер захотел оплатить - формируется заказ: запись в таблице заказов, order_id на все строки корзины, все прочие данные в них заполняются из текущих цен и акций.
Теперь юзер может оплачивать готовый заказ с текущими ценами - или протормозить, и заказ, созданный больше суток (трех, недели?) назад, уходит в "не оплаченные". Хочешь заказать - начинай сначала.
evomed, ну, я не знаю ваших таблиц.
Возможно, до оформления заказа в cart_items будут заполнены только id, created_at, product_id и amount.
Зато при оформлении зафиксируются текущие данные из prices, bonuses, coupons etc.
evomed, при создании заказа товарам в корзине присвоится ID этого заказа и актуальные цены/скидки вместо NULL. Корзина опустела, теперь эти самые записи - состав заказа, который можно оплачивать. Никакого "возвращаемся к корзине" после формирования заказа уже не будет.
Я тоже сторонник этого варианта, тем более, что сам его не раз реализовывал ;)
Но тут есть важная оговорка: получаешь привязку не к распространенному решению, а к автору самописа.
Пока все работает так, как задумывалось - разницы нет. Когда понадобились доработки - может быть как успешное сотрудничество с тем же разработчиком, знающим систему изнутри и допиливающим ее оперативно и за разумную плату, так и геморрой с поиском другого исполнителя и наценкой за необходимость разбираться в этом самописе.
Хороший вариант - собственный сотрудник, который это и напишет, и будет поддерживать. Но тоже чревато...
Петр, если один, и только один из носителей внезапно и довольно быстро умрет, никак не повредив при этом второму.
Ну да, ответ на первый вопрос примерно такой. Продолжайте ;)
Александр, проблема оценки? Предлагаю простое решение: я даю вам свой телефон, и вы каждый день переводите мне на карту эту сумму, пока не решите - много это или мало.
hodvIT, даже не знаю. Моя дочь прошла пару курсов по Питону, синтаксис освоила. Не платила за них ни копейки. Имхо, вот это - разумное соотношение цена/качество в том, что касается обучающих курсов.
Петр, от чего? Это первый очень важный вопрос, на который обычно забывают дать ответ.
Следующий вопрос - а единственная ли это возможная проблема и что будет, если вы... не угадали?
Наконец, третий - а после внедрения решений, защищающих от прочих проблем, вам правда понадобится тот рейд?
rPman, подтверждаю. Сегодня ради эксперимента поставил на новый системник сотруднице 22.04.1 - за время переноса данных и донастройки система дважды предлагала отправить отчет об ошибке и один раз зависла настройка принтеров. Сыро до безобразия. А вот 11 дебиан я ставил уже давненько - и без каких бы то ни было ошибок.
Рейд - это не для сохранности данных, это для скорости доступа к ним.
Сохранность обеспечивает только грамотный бэкап, рейд для этих целей применять вредно - чисто психологически: появляется иллюзия обеспеченности. не соответствующая реальному положению дел.
mayton2019, ну, вдруг чудо. Санкции, например, заставят вузы снести наконец винду и обновить методички с MSVC на QtCreator хотя бы. Пусть даже под Астрой, уж консоль-то они не испоганят...