Недавно возникла потребность переместить данные из 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

Комментарии (0)