Нужен помощник(и) для написания функции для работы с файлами как с БД. Цель - использование вместо СУБД на небольших и средних проектах при сохранении базового набора возможностей языка запросов к БД, а также его расширение.
Общая идея реализации: На входе - запрос к БД (массив заданного формата), На выходе - данные и/или код ошибки. Реализация на сериализованных массивах не годится.
Возможности языка запросов:
- Создание, изменение, переименование, удаление таблицы и ее настроек и столбцов
- Вставка записи (выше, ниже, внутрь, снаружи, первым, последним)
- Обновление, перемещение записи (выше, ниже, внутрь, наружу)
- Удаление записи или целой ветви
- Выборка по id или условию, с указанием глубины (для ветви), сортировкой, пагинацией, подсчет числа записей отвечающих условию
- Типы столбцов: id, state, numeric, textline, textline_unique, text, random_unique, binary, datetime, datetime_expire, category {имя таблицы}, file_public, file_private, file_link_random {путь к файлу}, directory_public, directory_private
- Типы сортировки: custom, asc|desc {столбец}, random
- для таблиц еще CHARSET, COLLATE, RELATION (этот параметр задает таблицу-родителя)
- для столбцов еще DEFAULT, INHERIT, RELATION
Библиотека будет писаться открыто, на этом форуме, так что будет доступна для критики. По оплате много предложить не смогу – 6000 руб., распределенные между теми, кто предложит лучший вариант структуры хранения таблиц и теми, кто будет программировать. Рассчитываю на то, что подключиться кто-то кому это тоже может пригодиться или интересно.
|