DenoGres 2.0 уже доступен! В эту версию включен новый набор функций, созданный поверх DenoGres 1.0, предоставляющий разработчикам больше инструментов и причин для работы в DenoGres.
Удобный графический интерфейс, двунаправленная синхронизация базы данных, заполнение базы данных и ведение журнала миграции — это лишь несколько функций, включенных в DenoGres 2.0!
Введение
Сегодня мы выпускаем очередную итерацию DenoGres, версия 2.0. Версия 2.0 содержит значительное количество улучшений основных функций, которые делают DenoGres не только более простым в использовании, но и более полным решением ORM, связывающим PostgreSQL со средой выполнения Deno.
Основные особенности этого выпуска:
- Двунаправленная синхронизация базы данных/модели
- Заполнение базы данных
- Графический интерфейс браузера запросов
- Ведение журнала миграции базы данных
Двунаправленная синхронизация базы данных
Одной из основных функций, реализованных в версии 2.0, является добавление двунаправленной синхронизации базы данных. После вызова команды «— db-pull» DenoGres создаст файл model.ts. Этот файл представляет схему базы данных пользователя из PostgreSQL в форме объекта TypeScript. Любые изменения, происходящие в PostgreSQL, могут быть перенесены в каталог пользовательского проекта с помощью вызова ‘—db-pull’, который перезапишет текущий файл модели в DenoGres. Еще одна функциональная часть этой функции — возможность синхронизации изменений в схеме базы данных PostgreSQL через модель ORM (model.ts) в DenoGres. Если пользователь хочет внести изменения в свою схему PostgreSQL в будущем, он может сделать это в своей собственной IDE, изменив свой файл model.ts и вызвав команду «— db-sync». Вызов — db-sync будет использовать model.ts в качестве основы и синхронизировать схему базы данных PostgreSQL, чтобы она соответствовала моделям из файла model.ts.
Примечание! Все изменения схемы базы данных можно синхронизировать одно за другим, однако гораздо эффективнее внести все изменения сразу, а затем синхронизировать эти изменения вместе.
После внесения изменений в модель запустите команду «— db-sync», и все изменения, внесенные в вашу модель, будут синхронизированы со схемой вашей базы данных PostgreSQL.
Заполнение базы данных
Благодаря нашему последнему добавлению заполнения базы данных теперь вы можете вставлять тестовые данные в свою базу данных PostgreSQL напрямую через DenoGres! Для начала вам нужно сначала создать файл с именем seed.ts внутри корневого каталога. Затем создайте массив объектов, назначив ему метку, совпадающую с именем таблицы, которую вы хотите создать в базе данных PostgreSQL. В созданной вами переменной каждый объект в массиве будет представлять собой запись (строку), которая будет добавлена в базу данных PostgreSQL.
Примечание. Убедитесь, что каждый из объектов данных соответствует схеме, указанной в файле model.ts.
Пример файла seed.ts выглядит следующим образом:
Теперь все, что вам нужно сделать, это запустить: denogres — db-seed
Браузер запросов с графическим интерфейсом
Версия 2.0 представляет визуальный браузер запросов, который можно открыть через интерфейс командной строки. Раньше ко всем функциям DenoGres приходилось обращаться с помощью выполнения скриптов, а пользователям приходилось анализировать данные SQL из командной строки. Браузер запросов был разработан для решения таких проблем и обеспечивает более рациональный и эффективный рабочий процесс.
В рамках выпуска браузера запросов с графическим интерфейсом были представлены два основных раздела: диспетчер соединений и проводник запросов. В диспетчере подключений пользователи могут создавать/обновлять/удалять учетные данные базы данных, которые будут сохранены в их учетной записи. В диспетчере соединений пользователи также могут подключаться к выбранным базам данных. Как только пользователь подключится к базе данных, графический интерфейс перенаправит пользователей в обозреватель запросов.
В проводнике запросов пользователи могут видеть классы модели, связанные с данной базой данных. Они также могут генерировать и запускать запросы к своим моделям.
Журнал миграции базы данных
В DenoGres 1.0 не было возможности отслеживать или сохранять миграции баз данных. Если пользователь решит изменить форму своей модели, а через неделю откажется от этого, у него не будет возможности вернуться к своей предыдущей схеме. DenoGres 2.0 решает эту проблему.
До DenoGres 2.0, когда пользователь вводил команду CLI «-db-pull», создавалась одна модель ORM на основе текущей схемы PostgreSQL. Если пользователь внес изменения в модель данных и впоследствии захотел вернуться к исходной модели, сведения об исходной модели были бы безвозвратно утеряны. Теперь, когда пользователь извлекает схему своей базы данных в свой файл model.ts, DenoGres автоматически создает резервную копию этой модели и сохраняет ее для последующего использования.
С добавлением двунаправленной синхронизации базы данных при каждом запуске команды «-db-sync» DenoGres автоматически создает резервную копию модели ORM после ее синхронизации. Это позволяет пользователю иметь модель для повторной синхронизации формы схемы базы данных PostgreSQL, если ему нужно вернуться к любой сохраненной модели в любой момент времени.
В разработке
По мере расширения поддержки DenoGres команда надеется внести следующие изменения в следующую версию DenoGres:
- Дальнейшая поддержка dbSync — в конечном итоге учет нескольких ассоциаций и составных уникальных ключей в модели DenoGres.
- Новая команда «Сравнить» — отображать рядом различия между предыдущими моделями (если они есть).
- Дальнейшие обновления журнала миграций — журнал будет отображаться в графическом интерфейсе, чтобы пользователи могли отслеживать, просматривать и сравнивать версии моделей.
- Диаграммы в стиле ERD — будут генерироваться в графическом интерфейсе, чтобы пользователи могли получить полное представление о своей модели данных.
- Дополнительная поддержка MySQL, SQL Server и т. д.
Документация
Чтобы узнать больше о DenoGres, посетите https://denogres.deno.dev/