Phoenix 앱에 덤프 파일을 추가하는 방법

2384 단어
개발자로 일하면서 때로는 기존 앱을 한 언어에서 다른 언어로 마이그레이션하거나 스테이징 또는 프로덕션에서 로컬로 데이터를 로드해야 합니다. 그래서 이 가이드는 우리가 어떻게 할 수 있는지 보여줍니다.

덤프 파일 생성



테스트용 덤프 파일이 없는 경우 기존 데이터베이스에서 생성할 수 있습니다.

물론 스키마와 삽입물이 있는 파일 하나만 만들 수 있습니다. 나는 그것들을 다른 파일에 두는 것을 선호합니다. https://www.postgresql.org/docs/current/app-pgdump.html에서 모든 psql 명령에 대해 자세히 알아볼 수 있습니다.

스키마 덤프 파일 생성

pg_dump --schema-only --file="schema_dump.sql" <database_name>
# or even shorter
pg_dump -s -f="schema_dump.sql" <database_name>

# --file=file
# Send output to the specified file.

# --schema-only
# Dump only the object definitions (schema), not data.


삽입 덤프 파일 생성

pg_dump --data-only --file="insert_dump.sql" <database_name>


새 데이터베이스에 데이터 적용



우선 애플리케이션용 데이터베이스를 만들어야 합니다.

mix ecto.create


덤프 파일이 이미 있는 경우 다음 명령을 실행할 수 있습니다.

mix ecto.load -d <path_of_dumps>/schema_dump.sql


이렇게 하면 덤프에서 Phoenix 앱으로 테이블이 생성됩니다.

추가하고 싶은 데이터가 있는 경우 동일한 명령을 사용하여 앱에 데이터를 추가할 수 있습니다.

mix ecto.load -d <path_of_dumps>/inserts_dump.sql


그리고 우리는 흔들 준비가되었습니다!

이제 마이그레이션을 생성하고 이를 위에서 실행할 수 있습니다!

우리가 사용한 것들:
  • https://hexdocs.pm/ecto_sql/Mix.Tasks.Ecto.Load.html
  • https://www.postgresql.org/docs/current/app-pgdump.html
  • 좋은 웹페이지 즐겨찾기