Cherry Pick для постгресса

September 30, 2016

В гите есть забавная команда cherry-pick, с помощью которой можно один или несколько комитов перенести из одной ветки в другую. Вообще в гите много забавных команд, кто например знает про git rerere? И сколько раз вы ее использовали в повседневной практике? Я такую команду не знаю, ни разу не использовал, и даже желания нет. И вообще мне про нее рассказал Тимур Минулин, думаю он ее тоже не использует, уж больно она экзотичная.

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

psql db1 -c"COPY (SELECT * from table where id in (1,2)) TO STDOUT" | \
  psql db2 -c"COPY table FROM stdin"

Таким образом можно переносить записи по произвольному запросу (конечно схемы таблиц должны совпадать), что в некоторых ситуациям помогает сэкономить много времени.

comments powered by Disqus