У нас є веб-сайт на основі Джанго, для якого ми хотіли зробити частину контенту (текст та бізнес-логіку, такі як плани ціноутворення) легко редагувати вдома , і тому ми вирішили зберігати його поза кодовою базою даних. Зазвичай причиною є одна з таких:
Це щось, що люди нетехнічні хочуть редагувати. Одним із прикладів є копірайтинг на веб-сайт - програмісти готують шаблон із текстом, який за замовчуванням відповідає «Lorem ipsum ...», а реальний вміст вставляється пізніше до бази даних.
Це те, що ми хочемо швидко змінити без необхідності розгортання нового коду (що ми робимо в даний час два рази на тиждень). Прикладом можуть бути функції, доступні в даний час для клієнтів на різних рівнях ціноутворення. Замість жорсткого кодування їх ми читаємо з бази даних.
Описане рішення є гнучким, але є деякі причини, чому мені це не подобається.
Оскільки вміст потрібно читати з бази даних, є ефективність роботи .
Ми це пом’якшуємо, використовуючи схему кешування, але це також додає певної складності системі.
Розробники, які використовують код локально, бачать систему в значно іншому стані порівняно з тим, як вона працює на виробництві. Автоматизовані тести також здійснюють роботу системи в іншому стані. Ситуації, такі як тестування нових функцій на сервері встановлення, також стають складнішими - якщо на сервері постановки немає останньої копії бази даних, вона може несподівано відрізнятися від виробничої.
Ми можемо пом’якшити це, якщо періодично вносити новий стан у сховище (наприклад, додаючи міграцію даних), але це здається неправильним підходом. Є це?
Будь-які ідеї, як найкраще вирішити ці проблеми? Чи є кращий підхід для обробки вмісту, який я оглядаю?