Инструменты сравнения DB

Этот вопрос, возможно, будет закрыт, потому что он считается основанным на мнении, или не связан с кодом, или как угодно ...

Тем не менее, Голанг считается довольно самоуверенным, и, поскольку я считаю стандарты очень важными, я буду придерживаться своего взгляда на неписаное правило и того, как я примирю, по сути, почему ReadCloser хорошо, но некоторые другие er интерфейсы могут не быть.


Я бы интерпретировал ReadCloser, чтобы не нарушать «правило» (я бы назвал это соглашением более похожим). У меня есть ряд аргументов, почему я бы сказал, что это не нарушает соглашение:

1. Это не автономный интерфейс

Интерфейс ReadCloser не является автономным интерфейсом. Это сложный интерфейс. Это имя отражает это. Он объединяет Read и Close (две функции в интерфейсе, который вам нужен) и добавляет суффикс er. То, как реализованы обе функции и откуда они берутся, не имеет отношения к интерфейсу. Если вы что-то прочитали, скорее всего, вам тоже придется закрыть ресурс. Имеет смысл только объединить два интерфейса, поэтому вы можете использовать тип, который гарантирует доступность функций Reader и Closer.

2. Имена не должны заикаться

Так же, как и заикания руководств WRT с именами , следует избегать. Особенно, если это не добавляет никакой ценности. Технически можно утверждать, что интерфейс должен называться ReaderCloser, но означает ли это имя что-либо, что не передается именем ReadCloser? Конечно, нет. Последний не повторяет суффикс и читается легче.

[Тысяча сто двадцать семь] 3. Интерфейсы er и CamelCasing

Примеры однофункциональных интерфейсов er, таких как Stringer или Publisher, действительно вырезаны & amp; сухой. A Stringer содержит функцию String. Конец истории. То же, что и интерфейс Publisher.

Вы заметите, что интерфейс ReadCloser является CamelCased, что предполагает, что это композитный тип. Просто разделите имя на символы UpperCase и добавьте суффикс к каждой части. Если части являются добросовестными er интерфейсами, и составной интерфейс имеет смысл (см. Пункт 1: если вы читаете, скорее всего, вам придется закрыть), то это допустимый составной интерфейс.

Примеры недопустимого интерфейса er:

type FileReader interface {
    ReadCloserer
    ScanDir(string) ([]string, error)
    IsFile(string) bool
    Open(string, string) error
    // and so on
}

Этот интерфейс содержит слишком много функций BS для упаковки в интерфейс FileReader.

5
задан Dimi Takis 22 January 2009 в 07:32
поделиться

7 ответов

SQL Выдерживает сравнение, довольно хорошо. Я также использовал SQL Delta, которая предоставила лучшие сценарии дельты. Также, если Вы - пользователь Visual Studio, Выпуск Системной базы данных Команды Visual Studio не является плохим способом пойти (включает задачи MSBuild автоматизировать Ваши сборки DB и управление версиями). И VSTS, DB (иначе чувак данных) также свободен теперь, если Вам лицензируют для выпуска Разработчика VSTS.

3
ответ дан 14 December 2019 в 04:49
поделиться

SQL Выдерживает сравнение Redgate, лучший инструмент, который я использовал для дб, выдерживают сравнение.

2
ответ дан 14 December 2019 в 04:49
поделиться

Я работаю на Innovartis, и мы делаем Фантом DB, который является чем-то, на что можно хотеть посмотреть. Это может сделать то, что Вы хотите - сравнивают сценарии с базой данных. Это может сделать это в одноэтапном использовании менеджера изменений путем создания и сравнения. Это очень, очень быстро. Создание базы данных также приносит Вам дополнительную пользу проверки зависимости базы данных на всякий случай, кто-то повредил одну часть кода базы данных путем изменения или представления другого. Мы полагаем, что программное обеспечение предлагает способ управлять изменениями базы данных быстро и экономически эффективно и объединенный с Вашим управлением исходным кодом может дать Вам полный контроль. Как система команды, но очень, намного более дешевый.

Сценарий, Сборка, Сравнивает, Обновление, Создает сценарий изменения, Развертывается, и функция базы данных Copy, которая является бесплатной. www.dbghost.com

3
ответ дан 14 December 2019 в 04:49
поделиться

Я использовал инструмент AdeptSQL много лет и был очень впечатлен. У них есть очень хорошая поддержка также, и в прошлый раз, когда я смотрел, они были по умеренной цене.

0
ответ дан 14 December 2019 в 04:49
поделиться

Хороший выдерживают сравнение, инструмент является внутренней ЖАБОЙ для SQL-сервера. Это было автономное бесплатное приложение, но теперь это - только часть полного пакета. Но можно попробовать бета-версию. Можно сделать снимок структуры и каждый раз, когда сравнивают живой сервер со снимком.

0
ответ дан 14 December 2019 в 04:49
поделиться

Мне действительно нравятся инструменты Apex SQL - это всегда - определенная жеребьевка, предпочитаю ли я Красный Логический элемент или инструмент Apex для того же задания :-)

0
ответ дан 14 December 2019 в 04:49
поделиться

Мы можем порекомендовать вам надежный инструмент сравнения SQL , который предлагает в 3 раза более быстрое сравнение и синхронизацию табличных данных в ваших базах данных SQL Server. Это dbForge Data Compare for SQL Server .

Основные преимущества:

  • Более быстрое сравнение и синхронизация больших баз данных
  • Поддержка собственных резервных копий SQL Server
  • Пользовательское сопоставление таблиц, столбцов и схем
  • Множественные параметры для настройки сравнения и синхронизации
  • Создание отчетов о сравнении и синхронизации

Плюс бесплатная 30-дневная пробная версия и безопасная покупка с 30-дневной гарантией возврата денег.

0
ответ дан 14 December 2019 в 04:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: