|
|
|
Сравнение схем БД
|
|||
|---|---|---|---|
|
#18+
Добрый день. Хочу спросить у всезнающего ALL не подскажет ли софтинку удовлетворяющую следующим требованиям Умеет сравнивать между собой схемы баз данных и на их основании генерить alter script Работает с базами Postgres и SQLite Желательно работающая под Linux (хотя если не так - можно смириться) Или бесплатная или имеющая разумный ценник Не монстроидальная (нужно только сравнение схем, если без этого никак, то пусть будет и остальное :)) Скажу сразу по форуму искал, кроме как страшного монстра PowerDesigner как-то и не рекомендуют. Я конечно сейчас его скачаю, поиграюсь, но вот цена на этот продукт просто ого! Для проектирования БД использую плагин для Eclipse ER Master , для моих задач пока хватает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2014, 10:18 |
|
||
|
Сравнение схем БД
|
|||
|---|---|---|---|
|
#18+
Видимо все плохо и подходящих инструментов нет :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2014, 15:02 |
|
||
|
Сравнение схем БД
|
|||
|---|---|---|---|
|
#18+
YP977, тынц тынц 2 YP977Работает с базами Postgres и SQLiteМежду разными СУБД сравнивать схемы, ИМХО, смысла не имеет, поскольку все равно упрешься в различия архитектур. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2014, 15:16 |
|
||
|
Сравнение схем БД
|
|||
|---|---|---|---|
|
#18+
Infernal V. Raven, Та ладно! Вы правда считаете, что прежде чем писать на форум я не пользовался гуглом? Я таких ТЫНЦ за последние несколько дней не просто почитал, а еще, и скачал, и поставил столько, что можно уже статью писать о том, чем в принципе и какой тип базы можно сравнить и какие при этом плюсы и минусы. Для Postgresql и SQLite ничего нормального не нашел и поэтому написал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2014, 15:29 |
|
||
|
Сравнение схем БД
|
|||
|---|---|---|---|
|
#18+
YP977Для Postgresql и SQLite ничего нормального не нашел и поэтому написал.Тогда по-порядку: 1. Для какой задачи нужно сравнение схем? 2. Что имеется в виду под сравнением схем? 3. Требуется ли сравнивать "в обе стороны" или только "чего не хватает"? 4. Требуется ли сравнивать не только лишь структуру таблиц, но и порядок следования полей в ней? 5. Требуется ли сравнивать ХП, функции, пакеты? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2014, 15:37 |
|
||
|
Сравнение схем БД
|
|||
|---|---|---|---|
|
#18+
YP977Для Postgresql и SQLite ничего нормального не нашел и поэтому написал.Чем не устроили найденные решения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2014, 15:38 |
|
||
|
Сравнение схем БД
|
|||
|---|---|---|---|
|
#18+
Infernal V. Raven, 1. Есть программный продукт работающий с базой. Серверная часть работает с Postgres, клиентская с SQLite. Базы на 90% похожие. В процессе разработки новых версий продукта базы меняются. Если кратко, то необходимо подготавливать ALTER скрипты для обновления баз на более свежую версию. Объектов в базах не то, что бы много но каждый раз писать все ручками утомительно. 2. Сравнение как таковое не есть цель. Как уже писал нужны скрипты чтобы изменить структуру указанной базы до того состояния которое описано в схеме. 3. Вполне достаточно только в сторону Схема -> База 4. В идеале хотелось бы. Вот только я не представляю себе софт который это будет учитывать и генерить соответствующий скрипт :) 6. ХП, функции, пакеты - нет, не нужно. Это можно и ручками. Понятно, если такая возможность будет буду использовать, если нет, то не критично. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2014, 15:49 |
|
||
|
Сравнение схем БД
|
|||
|---|---|---|---|
|
#18+
Infernal V. RavenЧем не устроили найденные решения? Или не работают с указанными БД, или на выходе не генерят скрипт, или если генерят то получается полная ахинея. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2014, 15:50 |
|
||
|
Сравнение схем БД
|
|||
|---|---|---|---|
|
#18+
Что-то я ни фига не понял. В очередную версию продукта мы добавили поле в таблицу, написали ALTER для Postgres, но для SQLite лень писать и положить рядом. Хочется именно сгенерировать. Так? Попахивает обычным разгильдяйством. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2014, 23:33 |
|
||
|
Сравнение схем БД
|
|||
|---|---|---|---|
|
#18+
skyANAВ очередную версию продукта мы добавили поле в таблицу, написали ALTER для Postgres, но для SQLite лень писать и положить рядом. Хочется именно сгенерировать. Так? Попахивает обычным разгильдяйством.Попахивает мышкопрограммированием, никто ALTER не писал :-) Ну и программированием наживую прямо в базе, без использования средств разработки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2014, 00:19 |
|
||
|
Сравнение схем БД
|
|||
|---|---|---|---|
|
#18+
YP9771. Есть программный продукт работающий с базой. Серверная часть работает с Postgres, клиентская с SQLite. Базы на 90% похожие. В процессе разработки новых версий продукта базы меняются. Если кратко, то необходимо подготавливать ALTER скрипты для обновления баз на более свежую версию. Объектов в базах не то, что бы много но каждый раз писать все ручками утомительно. Для этой задачи, на мой взгляд, компарер не требуется. Из опыта - мы занимались разработкой и поддержкой тиражируемого программного продукта. В базе были специализированные таблицы в которых прописывались версии структур (по предметным модулям). Доработка структур осуществлялась в рамках патчей, в которые входили скрипты изменения структур таблиц, вьюх, ХП и т.п., включая апдейты данных. Соответственно, в момент Х из протестированных доработок собирался патч, который также тестировали на накат и уже после этого устанавливался заказчику. Патч при установке менял версию в базе. Интерфейсная часть анализировала версию и предоставляла либо запрещала доступ при несоответствии версий. Такой подход позволял избежать бардака с разными версиями у клиентов. Если у клиента довольно старая версия, достаточно было накатить несколько патчей, вместо того чтобы актуализировать схему по компареру. Компарерами пользовались до того как пришли к этой схеме, даже писали свои. Как показывает опыт - компарер нужен в исключительных случаях (суровый клиентский админ решил самостоятельно изменить базу). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2014, 11:10 |
|
||
|
Сравнение схем БД
|
|||
|---|---|---|---|
|
#18+
alexeyvgПопахивает мышкопрограммированием, никто ALTER не писал :-) Ну и программированием наживую прямо в базе, без использования средств разработки.Да, сильно похоже. Ну если база одна и разработчик тоже, то такой подход будет вполне приемлем, в остальных же случаях нужно устранять организационный бардак, а не пытаться устранять его последствия. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2014, 11:14 |
|
||
|
Сравнение схем БД
|
|||
|---|---|---|---|
|
#18+
Контроль версии БД в софте присутсвует. Обновления накатываются при обновлении самого софта. Все это дело живет под Linux и есть такая штука как dbconfig-common. Ей нужно скормить alter скрипт и база будет обновлена. Суть задачи в том, чтобы этот скрипт получить минимумом телодвижений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2014, 11:34 |
|
||
|
Сравнение схем БД
|
|||
|---|---|---|---|
|
#18+
YP977Суть задачи в том, чтобы этот скрипт получить минимумом телодвижений.Логичнее вести разработку таким образом, чтобы можно было получить все скрипты изменений за промежуток времени между патчами и собрать их в единый файл изменения, либо создать скрипт или командный файл, вызывающий отдельные файлы. Я действовал по второму варианту - написал небольшую програмку по генерации командного скрипта, который к тому же оборачивал накат изменений в одну транзакцию, обновлял версию, а перед накатом проверял текущую версию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2014, 13:24 |
|
||
|
Сравнение схем БД
|
|||
|---|---|---|---|
|
#18+
Infernal V. Raven, Все правильно, так и есть. Я всего лишь хочу автоматизировать создание этих самых скриптов. Ну вот лень писать их руками. Понятно, что ни одна софтина не сможет написать такой скрипт идеально, но тут или немного поправить то, что получилось, или писать все изначально ручками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2014, 14:34 |
|
||
|
Сравнение схем БД
|
|||
|---|---|---|---|
|
#18+
YP977, Добрый день. Если бы не SQLite, а к примеру другие СУБД (Mysql, PostgreSQL, ... ), то можно было бы рекомендовать SQL Power Architect. Умеет сравнивать схемы. PS. SQL Power Architect может генерировать схемы согласно стандарту SQL-92, который поддерживает SQLite. Схема может храниться локально в файле. От сюда костыль SQLite - файл SQL Power Architect - PostgreSQL, но это не прямое сравнение схем SQLite и PostgreSQL. C уважением, biwed.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2014, 02:45 |
|
||
|
Сравнение схем БД
|
|||
|---|---|---|---|
|
#18+
biwed.ru, Мне не нужно сравнивать между собой разные СУБД. Сравнивать только SQLite<->SQLite и PostgreSQL<->PostgreSQL. Спасибо за подсказку, посмотрю, попробую. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2014, 10:15 |
|
||
|
Сравнение схем БД
|
|||
|---|---|---|---|
|
#18+
YP977Спасибо за подсказку, посмотрю, попробую. Уже смотрел, игрался. Видимо забыл о нем :) У меня под ubuntu буквально на каждом действии выскакивают exeption. Под windows не игрался. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2014, 10:41 |
|
||
|
Сравнение схем БД
|
|||
|---|---|---|---|
|
#18+
http://www.liquibase.org Проверь, может там есть то, что ты ищешь. По одной базе он разницу выдать мог, если мне память не изменяет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2014, 14:43 |
|
||
|
Сравнение схем БД
|
|||
|---|---|---|---|
|
#18+
Лично меня, стандартные средства никогда не устраивали. Может и сравнивает, может и скрипт корректный генерит... но как всегда. дьявол кроется в мелочах... Обычно комфортно работать со стандартным средством значительно сложнее, чем взять и написать простенькую сравнилку баз "для себя" Потом, никогда не понимал смысла задачи "добавить столбец в таблицу" для не настраиваемых систем. Если столбец в таблице есть, то скорее всего, в нем должно быть какое-то осмысленное значение. Т.е. автоматическим ALTER TABLE не обойтись, нужно еще и руками осмысленный INSERT/UPDATE делать. А тогда смысл "сравнилки" становится равным нулю. AFAIK Infernal V. Raven....в остальных же случаях нужно устранять организационный бардак, а не пытаться устранять его последствия. +1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2014, 15:01 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=38787107&tid=1540713]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
162ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
| others: | 12ms |
| total: | 275ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...