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/

Авторы