Импортирование csv или json файлов в Heroku Postgres Databases

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Недавно возникла потребность переместить данные из Bubble в Heroku, так как Bubble начал требовать много денег за хранение и доступ к большому кол-ву данных, поэтому было решено переместить данные проекта в Heroku.

Данные для перемещения

Если у вас еще не установлен Heroku CLI, установите его, следуя инструкциям на официальном сайте. Так же не забудьте скачать PostgreSQL с официального сайта.

Входные данные следующие:
JSON файл полученный из Bubble имеет следующий вид:

[{"order_number":"41744565-0033-2","status":"delivered","unique id":"1713335321939x405889175018036500"}]

Если дамп базы данных представлен в формате JSON, то процесс импорта данных в PostgreSQL на Heroku несколько усложняется. Вам нужно будет преобразовать JSON в формат, подходящий для импорта в PostgreSQL (например, CSV).

Теперь переходим на сайт для конвертирования JSON в CSV. Тут все просто, выбираем файл и нажимаем кнопку Convert JSON to CSV.

Подключения через интерфейса командной строки (CLI)

Вводим команду C:\Users\12345>heroku login
Получаем сообщение heroku: Press any key to open up the browser to login or q to exit:
Нажимаем ENTER, переходим на сайт Heroku, логинимся, после этого получаем сообщение:
Logging in... done
Logged in as you_mail@mail.com

Далее переходим в расположение PSQL
C:\Users\12345>cd C:\Program Files\PostgreSQL\13\bin

Вводим команду для подключения к вашей БД и получаем ответ об успешном подключении

C:\Program Files\PostgreSQL\13\bin>heroku pg:psql -a youname
--> Connecting to postgresql-cubed-11111

Далее нам нужно ввести команду для копирования нашего CSV файла в Heroku и получаем ответ о кол-ве копированных данных

project_name::DATABASE=> \COPY orders(number, status, bubble_id) FROM 'C:\Users\12345\Downloads\test_orders.csv' WITH CSV HEADER;
COPY 811

Проверить наличие данных в БД можно при помощи SQL команды

project_name::DATABASE=> SELECT * FROM orders LIMIT 50;

Проверяем правильно ли записались данные и радуемся результату. Не забудьте что вам нужно будет скачать Heroku CLI и pg:psql

Если у вас остались вопросы, вы всегда можете прочитать документацию с официального сайта Heroku

Источник: https://habr.com/ru/articles/830818/


Интересные статьи

Интересные статьи

Наверняка, многие из вас пользуются explain.tensor.ru - нашим сервисом визуализации PostgreSQL-планов или уже даже развернули его на своей площадке. Но визуализация конкретного плана - это лишь неболь...
До подобного момента надо ещё дожить, но однажды случается и такое. В один прекрасный день мне понадобилась БД с 1 триллионом записей. Причём, понадобилась на домашнем компьютере, где свободного места...
На Хабре уже было несколько статей упоминающих deferred constraints. Postgres: bloat, pg_repack и deferred constraints Ограничения (сonstraints) PostgreSQL: exclude, частичный un...
На прошедшей неделе вышло сразу две статьи (от Hubert 'depesz' Lubaczewski и автора самого патча Alvaro Herrera), посвященные реализованной в грядущей версии PostgreSQL 13 поддержке о...
Надёжность Flash–памяти: ожидаемое и неожиданное. Часть 1. XIV конференция ассоциации USENIX. Технологии хранения файлов 4.2.2. RBER и возраст дисков (без учета циклов PE). На Рисунке 1 показ...