TGTGInsightаналитика telegramLIVE / telegram public index
← Отфильтрованный инет
Отфильтрованный инет avatar

TGINSIGHT POST

Post #585

@filteredinternet

Отфильтрованный инет

Просмотры2,130Количество просмотров
Опубликован18 авг.18.08.2022, 10:38
Содержимое поста

Содержимое

Сделал CLI для работы с Deta Base Изначально меня бесило, что в Дэте нет кнопки экспорта базы, но после знакомства с HTTP API стало ясно, что там почти ничего нужного нет. Так и родилась эта обертка над стандартными методами. Тулза поддерживает все стандартные методы HTTP API (put, get, insert, delete, update), но есть дополнительные, которые из коробки не предоставляются. Вот какие фичи реализованы на данный момент: • Экспортирование базы, в том числе с указанием query, limit, last и собственного пути сохраняемого файла: $ detabase export db_name $ detabase export db_name -q "<query>" -fn "<file_path>" • Клонирование базы с или без указания query: $ detabase clone from_db_name new_db_name -q "<query>" • Заполнение базы из файла или данными из командной строки: $ detabase put db_name --items "<object>" $ detabase put db_name -ff <path_to_json_file> • Удаление записей по ключу или по query: $ detabase delete db_name <key> $ detabase delete db_name -q "<query>" • Обновление записей по ключу или по query: $ detabase update db_name <key> --set "<object>" $ detabase update db_name -q "<query>" --set "<object>" --append "<object>" • Очистка базы: $ detabase truncate db_name • Просмотр базы в табличном представлении или в виде json: $ detabase query db_name $ detabase query db_name -q "<query>" --json • Создание пустой базы: $ detabase create new_db_name • Вывод количества записей в базе: $ detabase count new_db_name Больше примеров с пояснением флагов можно найти в репозитории. Предусмотрена базовая защита от дурака. Например: - Вы не сможете клонировать базу в уже существующую пока не поставите --force флаг. - Вы не сможете вставить невалидные данные. - Вы не сможете создать новую базу с уже существующим именем. - Если вы попытаетесь экспортировать или очистить пустую базу, то выведется соответствующий ворнинг и ничего не произойдет. - Вообще, все запросы довольно подробно логируются и в случай ошибок иногда даже выводятся советы, как их устранить. Чтобы установить, достаточно вызвать в консоли: npm install -g @mikhailsdv/detabase Проект так же билдится в одиночные исполняемые файлы под 💻 Windows (.exe), 💻 Linux и 🍎MacOS, поэтому им можно пользоваться не устанавливая Node.js и/или npm. Здесь можно скачать x64 альфа-релиз. Протестировано на 💻 Windows 11 и 💻 Linux Mint. Код открыт, пулл-реквесты приветствуются. 🌐 GitHub: https://github.com/mikhailsdv/detabase