Недавно возникла потребность переместить данные из 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
Далее переходим в расположение PSQL
Logged in as you_mail@mail.comC:\Users\12345>cd C:\Program Files\PostgreSQL\13\bin
Вводим команду для подключения к вашей БД и получаем ответ об успешном подключенииC:\Program Files\PostgreSQL\13\bin>heroku pg:psql -a youname
Далее нам нужно ввести команду для копирования нашего CSV файла в Heroku и получаем ответ о кол-ве копированных данных
--> Connecting to postgresql-cubed-11111
project_name::DATABASE=> \COPY orders(number, status, bubble_id) FROM 'C:\Users\12345\Downloads\test_orders.csv' WITH CSV HEADER;
Проверить наличие данных в БД можно при помощи SQL команды
COPY 811
project_name::DATABASE=> SELECT * FROM orders LIMIT 50;
Проверяем правильно ли записались данные и радуемся результату. Не забудьте что вам нужно будет скачать Heroku CLI и pg:psql
Если у вас остались вопросы, вы всегда можете прочитать документацию с официального сайта Heroku