Обновить базу данных Django postgresql в Digital Ocean Droplet?

Этот вопрос может быть вне контекста этого сайта, поэтому, пожалуйста, перенаправьте меня на нужный сайт, если это так. Во всяком случае, у меня Django установлен в дроплете Digital Ocean, я переместил свои приложения с FileZilla на сервер, настроил правильные статические папки, и все работает нормально, за исключением базы данных. Теперь я создал базу данных postgresql на своем компьютере и добавил некоторые данные, но я понятия не имею, как я могу переместить их в базу данных сервера. Я мало что знаю о базах данных, я никогда не уверен, где находится моя база данных. Есть ли способ автоматического развертывания базы данных или, возможно, способ найти, где она находится, и переместить ее с помощью FileZilla на сервер?


person Antoni4040    schedule 09.06.2016    source источник
comment
pg_dump на вашем локальном сервере разработки и pg_restore на удаленном (обе команды хорошо описаны в документации postgresql)   -  person e4c5    schedule 09.06.2016
comment
Таким образом, он в основном копирует данные из одной базы данных в другую?   -  person Antoni4040    schedule 09.06.2016
comment
Ну нет, вам придется скопировать файл, созданный pg_dump, самостоятельно :)   -  person e4c5    schedule 09.06.2016
comment
Но на самом деле можно объединить pg_dump и pg_restore в цепочку, но давайте оставим такие сложные методы, пока вы не познакомитесь с postgresql.   -  person e4c5    schedule 09.06.2016
comment
Ладно, проверю, спасибо. Но есть ли какие-нибудь команды, чтобы узнать, где находятся базы данных?   -  person Antoni4040    schedule 09.06.2016
comment
Вам не нужно делать это для дампа и восстановления. Если вам это нужно по другой причине, «SHOW data_directory» в консоли psql покажет вам.   -  person e4c5    schedule 09.06.2016
comment
Спасибо! Этого пока должно быть достаточно...   -  person Antoni4040    schedule 09.06.2016


Ответы (1)


Используйте SSH для подключения к дроплету, затем перейдите к установке postgresql-server. Посмотрите руководства по установке, чтобы сделать это.

Ваша база данных будет расположена в вашей капле, затем вы настроите Django settings.py для подключения к вашей локальной базе данных в 127.0.0.1.

Вы можете взглянуть на этот очень хороший руководство для Ubuntu на DigitalOcean.

Все, что вам нужно сделать, это настроить базу данных для использования с Django и перенести ваше приложение.

Django предоставляет простой способ экспорта/импорта данных БД:

python manage.py dumpdata сгенерирует вывод, в Linux просто перенаправьте его > fixture.json. Сделайте это при автономной установке.

Затем поместите этот файл на свой сервер и загрузите его с помощью следующей команды: python loaddata fixture. Это сработает, если вы не забудете синхронизировать обе схемы базы данных с migrations.

person Maxime B    schedule 09.06.2016
comment
Я уже установил postgresql, просто не знаю, как синхронизировать его с моей автономной базой данных... - person Antoni4040; 09.06.2016
comment
Спасибо, это здорово! Но отредактируйте свой ответ, чтобы вывести что-то вроде приспособления.json, я не смог заставить ваш out.fixture работать. В любом случае, еще раз спасибо! - person Antoni4040; 09.06.2016
comment
Пожалуйста :). Извините, не могу точно напомнить расширение файла load/dumpdata, с которым работает. - person Maxime B; 09.06.2016