CLI версия
В качестве альтернативы плагина для Eclipse IDE предоставляется возможность сравнения схем баз данных через командную строку. Для этого необходимо скачать pgCodeKeeper-cli приложение, которое работает автономно.
Консольная сборка программы может быть использована для:
создания из дампа файловой структуры «проекта» pgCodeKeeper (без проекта Eclipse)
создания скриптов наката с использованием дампов и файловых структур pgCodeKeeper
создания скриптов наката с использованием соединений к базам данных
просмотра зависимостей объектов
Начало работы
Для начала необходимо установить Java SDK для вашей платформы.
Последнюю версию cli сборки можно скачать здесь. В распакованном архиве использовать файл для передачи параметров: pgcodekeeper-cli.sh для Linux систем и pgcodekeeper-cli.bat для Windows систем.
Набор параметров, доступных для работы с программой Вы можете посмотреть выполнив команду:
./pgcodekeeper-cli.sh --help
Примеры
Запись в файл diff.sql скрипт миграции различий из проекта в директории test1 в базу данных testdb1 на сервере localhost:5432:
./pgcodekeeper-cli.sh -o /home/codekeeper/projects/diff.sql 'jdbc:postgresql://localhost:5432/testdb1?user=user&password=password' /home/codekeeper/projects/test1/
Вывод в консоль скрипт миграции из файла backup в проект в директории test1:
./pgcodekeeper-cli.sh /home/codekeeper/backup.sql /home/codekeeper/projects/test1/
Создание проекта в директорию test1 на основе базы данных testdb1 на сервере localhost:5432:
./pgcodekeeper-cli.sh --parse -o /home/codekeeper/projects/test1/ 'jdbc:postgresql://localhost:5432/testdb1?user=user&password=password'
Отображение дерева зависимостей базы данных testdb1 на сервере localhost:5432:
./pgcodekeeper-cli.sh --graph 'jdbc:postgresql://localhost:5432/testdb1?user=user&password=password'
Отображение дерева объектов, от которых зависят объекты с именами t1 и t2 в базе данных testdb1 на сервере localhost:5432:
./pgcodekeeper-cli.sh --graph --graph-reverse --graph-name t1 --graph-name t2 'jdbc:postgresql://localhost:5432/testdb1?user=user&password=password'
Все параметры после специального параметра -vmargs будут переданы VM.
Использование с ограничениями потребляемой памяти:
./pgcodekeeper-cli.sh 1.sql 2.sql -vmargs -Xms256m -Xmx2g
Параметр VM ru.taximaxim.codekeeper.parser.poolsize позволяет указать количество потоков парсера:
./pgcodekeeper-cli.sh 1.sql 2.sql -vmargs -Dru.taximaxim.codekeeper.parser.poolsize=5