Проектирование баз данных от начала до конца

Ваша схема базы данных — в коде и на холсте.

Пишите схему текстом или перетаскивайте таблицы на холсте — каждое изменение мгновенно отражается в обе стороны. Затем подключите SchemaCanvas к настоящей базе PostgreSQL, MySQL или SQL Server, чтобы увидеть, где именно она разошлась со схемой, и создайте миграцию, которая устранит разрыв.

Приватные диаграммы, история версий и визуальная организация — бесплатно. Банковская карта не нужна.

orders schemaAll changes savedtable users #4f5df0 { id int key auto email varchar! unique created_at timestamp}table orders { id int key auto user_id int! -> users.id status order_status total decimal(10,2)}enum order_status { pending shipped}-- cardinality is derivedusersidPKemailvarcharcreated_attimestampordersuser_idFKstatusenumtotaldecimal+ columnproductsidskuin sync
3диалекта SQL на выходе
6способов импорта
12проверок дизайна, бесплатно
24стартовых шаблона
100%можно разместить у себя

В чём разница

Большинство инструментов заставляют выбирать сторону. Мы — нет.

Инструменты «сначала код» дают точность и контроль версий, но в них нельзя перетащить блок. Инструменты «сначала диаграмма» понятны, но их результат не проверишь в pull request.

SchemaCanvas считает текст и рисунок одним артефактом. Переименуйте таблицу на холсте — обновится код. Вставьте схему — появятся блоки. Нет ни шага импорта, ни шага экспорта, ни расхождений между ними.

  • Каждая функция доступна и из панели кода, и с холста
  • Комментарии, отступы и нераспознанные блоки сохраняются нетронутыми
  • Отмена охватывает обе поверхности в одной истории
  • Позиции хранятся вне текста схемы, поэтому файл остаётся переносимым
CodeCanvasonly the edited blockis rewritten

Связь с настоящей базой

Диаграмма, которая знает, как на самом деле выглядит ваша база данных.

Диаграмма ничего не стоит, как только перестаёт соответствовать продакшену. Поэтому SchemaCanvas читает вашу живую базу — PostgreSQL, MySQL или SQL Server — и показывает разницу цветом прямо на холсте.

Затем он пишет миграцию. В правильном диалекте, с деструктивными операторами, закомментированными по умолчанию, и всем, что нельзя разрешить механически, помеченным для человека. Это отправная точка для проверки, а не скрипт для слепого применения.

  • Интроспекция только для чтения — строка подключения используется один раз и никогда не сохраняется
  • Расхождения показаны зелёным, жёлтым и красным прямо на диаграмме
  • Миграции от прошлой версии или от живой базы данных
  • Двенадцать проверок дизайна по мере ввода — без ограничений и доплат
Live databaseYour diagram+ 2 tables~ 1 modified− 1 droppedALTER TABLEordersADD COLUMNtotal-- DROP commented

Всё в одном месте

Весь рабочий процесс со схемой, а не его часть

Проектируйте, документируйте, проверяйте и выпускайте — не собирая вместе три продукта и три подписки.

Двустороннее редактирование

Код и холст всегда в ногу. Переименовывайте, связывайте, перестраивайте — с той стороны, которая удобнее сейчас.

Синхронизация с живой базой

Интроспекция PostgreSQL, MySQL или SQL Server. Расхождения видны на холсте. Миграция, которая их устраняет, создаётся автоматически.

Визуальное сравнение

Сравните любую версию с текущей. Добавленные, изменённые и удалённые таблицы отрисованы цветом, а список изменений написан простым языком.

Линтер схемы

Двенадцать детерминированных проверок — отсутствующие ключи, несовпадение типов, внешние ключи без индекса, дубликаты таблиц, невозможные размеры — прямо во время ввода.

История версий

Автоматические снимки в процессе работы, закреплённый снимок при каждом сохранении, именованные — когда это важно, и безопасное восстановление, которое сначала делает снимок.

Публикация и встраивание

Ссылка только для чтения для кого угодно, отзываемая в один клик, плюс iframe-фрагмент для Notion, Confluence или вашей документации.

CLI и REST API

Забирайте и отправляйте схемы из CI, выпускайте API-токены и запускайте вебхуки при изменении диаграммы.

Создано для ревью

Даже те, кто не может редактировать, имеют право голоса.

Дайте заинтересованному коллеге доступ на просмотр — он всё равно сможет свободно перестраивать диаграмму, но ничего не сохранится. Когда результат его устроит, он отправит его как предложение изменений, а редактор проверит его как визуальное сравнение перед слиянием.

Индикаторы присутствия показывают, кто ещё в комнате, правки синхронизируются в реальном времени, а обсуждения в комментариях привязаны к той таблице, о которой на самом деле идёт речь.

  • Рабочие пространства с ролями владельца, редактора и наблюдателя — приглашайте коллег по e-mail
  • Обсуждения в комментариях, закреплённые за таблицами, с @упоминаниями
  • Присутствие в реальном времени и живая синхронизация
  • Перед слиянием делается снимок, поэтому принять изменения всегда обратимо
ARJLMKJamie@adilshould status be an enumrather than a varchar here?2

Один продукт, одна цена

Бесплатно там, где это важно

Большинство инструментов для схем делят диаграммы, документацию и историю на отдельные продукты — или делают вашу работу публичной, пока вы не заплатите. Мы считаем, что базовые вещи просто должны быть.

SchemaCanvas

  • ✓ Приватные диаграммы с самого начала
  • ✓ История версий и визуальное сравнение
  • ✓ Документация схемы включена
  • ✓ Цвета, группы, заметки и представления
  • ✓ Линтер схемы включён, без доплат
  • ✓ Импорт из SQL, Prisma, EF Core, dbdiagram.io, QuickDBD или живой базы данных
  • ✓ Размещайте у себя через Docker, когда захотите

Типичные инструменты «сначала код»

  • — Бесплатный тариф часто делает диаграммы публичными
  • — История только в платном тарифе
  • — Документация продаётся отдельным продуктом
  • — Только код, без редактирования на холсте
  • — Нет связи с вашей настоящей базой данных
  • — Ограниченный набор форматов импорта
  • — Только в облаке

Уже есть диаграммы?

Заберите их с собой.

Скопируйте код из dbdiagram.io или QuickDBD и вставьте его. Формат распознаётся автоматически, преобразуется и отрисовывается — таблицы, ключи, связи и заметки, — так что переезд занимает минуту, а не вечер перепечатывания.

  • Не нужно знать, как называется ваш формат — вставьте, и он будет распознан
  • Связи всегда приходят направленными правильно, как бы они ни были записаны
  • Всё, чему здесь нет аналога, перечисляется после импорта и никогда не отбрасывается молча
  • Скрипт или схема, экспортированные отсюда, импортируются обратно как тот же дизайн — SQL, Prisma или EF Core
  • Работает в песочнице, без аккаунта
What you pasteuser_id int [ref: > users.id]user_id int FK >- users.idorWhat you getuser_id int! -> users.idone way to write itand on the canvas

Безопасность по построению

Сессии живут в cookie, которые не может прочитать ни один скрипт, каждый изменяющий запрос проверяется на CSRF, а исходящие функции нельзя направить во внутренние сети.

Ваши учётные данные остаются вашими

Строки подключения к базе используются для одного запроса только на чтение. Никогда не сохраняются, не логируются и не используются повторно.

Запустите у себя

Стек Docker Compose поставляется вместе с продуктом. Держите всё внутри своей сети, если этого требуют правила.

Начните с пустого холста — или с вашей существующей базы данных.

Вставьте DDL, подключите живой экземпляр или откройте песочницу и нарисуйте что-нибудь. В любом случае это займёт около минуты.