В теории с миграциями всё сложно. Но на практике надо с ними работать. Или совсем отказаться от них. Посмотрим какие рабочие варианты существуют.
В основном я пишу на Python, использую реляционные БД, поэтому и инструменты буду смотреть с ориентировкой на эти технологии. Конечно, только open source. На полноту обзора не претендую.
Если я упустил какой-то софт или описал его с ошибками — пишите в комментариях или в личку — исправлю. В конце концов, досконально изучить документацию всех утилит я не пытался — это потребовало бы слишком много времени.
Недавно смотрел чего за последние годы сделано в области решений для миграций схем и данных в базах данных и как-то мне все решения не понравились. По крайней мере из open source ни одного проекта без косяков нюансов не нашёл.
Поэтому я решил порефлексировать и копнуть глубже — миграции баз данных всегда казались мне частным случаем общей проблемы обновления версий проекта.
Я предполагаю, что вы более-менее понимаете суть миграций в БД и сможете ориентироваться в моих допущениях: явных и неявных.
Первая часть эссе описывает миграции, пользу и проблемы от них. Вторая часть — мои пожелания к идеальной системе миграций.
Я давно испытываю когнитивный диссонанс по-поводу подачи прогресса в играх. Началось это с расцветом free-to-play и мобилок, в дальнейшем диссонанс всё нарастал и нарастал.
Поэтому я решил разобраться чего у меня так зудит и пришёл к некоторым общим выводам о природе и эволюции массовых продуктов.
Наверняка схожие идеи уже озвучены философами и экономистами лет 30-50 назад. А может и раньше, потому что чётко виден вечный спор о форме и содержании. К сожалению, с подобными работами я не знаком, поэтому буду натягивать сову на глобус как умею. Если вы знакомы с темой — поделитесь ссылками в комментариях.
Начну с игр, как знакомого мне предмета и яркой демонстрации явления. После чего распространю соображения на все медиа-продукты.
По аналогии можно было бы двинуться и дальше, но я постараюсь ограничиться именно медиа частью рынка и концепцией прогресса в использовании его продуктов — это мне сейчас интереснее всего.
В конце эссе будет глава с оговорками и примечаниями. Без них текст получился бы значительно больше и запутаннее.
Буду говорить в контексте программирования, но соображения можно распространить шире.
Когда мы описываем алгоритм: программу, доказательство теоремы или решение математической задачи — мы строим его описание в рамках некоторой формальной модели. В рамках соглашений и ограничений, которые мы явно или неявно принимаем.
Описать алгоритм вне формальной модели невозможно. Хотя бы потому, что любой язык — уже формализация.
Отсюда вытекает интересная проблема.
Ещё один концепт, на этот раз довольно старый. Не думаю, что такую игру будет просто привести к успеху, но идея мне нравится.