После знакомства с mongoDB появилось желание избавиться в своем ORM от инсталятора создающего структуру БД.
Идея состоит в том, чтобы отлавливать когда драйвер ругается на то, что нет у нас таблицы, и создавать таблицу, если не хватает колонки — создавать колонку.
Проблема типизации решена — при чтении в любом случае у нас в поле NULL будет, раз еще не было записи, а при записи у нас есть тип данных (не тип переменной, а именно тип поля включая set и enum, ибо внутри модуля структура данных типизирована.
Итак вопрос — как вы считаете насколько это криво?
Второй вопрос — подводные камни есть?
Как показывает практика многие проходили через идею выводить страницы подменив вывод 404-ошибки.
Недостаток очевиден — нет индексации ибо для поисковика это 404, и загаженный лог ошибок.
Нет ли здесь подобных подводных камней?
ПЫСЫ: Задача рассматривается в контексте php поскольку если уж я ставлю к примеру Питон, то легко поставлю рядом noSQL какой-то с shemaless и не буду изобретать велосипед. Уточнение ибо может есть какие-то нюансы в реализации.
UPD: Интересует в первую очередь ваше мнение о подходе а не готовые решения. Т.е. ОК/плохо, или там «лучше сделай вот так-вот», готовые решения конечно интересны, но разбирать чужой большой движок чтобы понять как он устроен это не так просто… Спасибо :)
Ну это уже проблема выбора шаред хостинга. Обычно она решаема. На одном их проектов проблема отсутствия Mongo решилась письмом хостеру, который любезно поставил его нам. Но вообще я предпочитаю VDS-ки.
По поводу отсутствия InnoDB — давно таких не встречал…
Это проблема популярности скрипта в первую очередь.
Скрипты которые слишком требовательны — не слишком популярны.
Если писать что оптимально такое-то окружение, но мы стерпим и такое, то это уже получше…
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.