[점프 투 플라스크] Host에서 PostgreSQL 연동

Local Host 에서 postgresql을 설치하고 연동해 보았습니다.
1. window 용 postgresql 설치 (pgadmin도 함께 설치됨)
https://www.enterprisedb.com/downloads/postgres-postgresql-downloads

  1. pgadmin 실행해서 pybo database생성
  2. 왼쪽 browser 창에서 Databases 우클릭 -> Create -> Database
  3. 사용자는 postgres 유지, Database명 입력하고 저장

  4. development.py 수정
    SQLALCHEMY_DATABASE_URI = 'postgresql://{user}:{pw}@{uri}/{db}'.format(
    user = 'postgres', #postgresql 설치시 기본 사용자
    pw = 'xxxx', #postgresql 설치시 입력한 암호
    uri = 'localhost',
    db = 'pybo' #pgadmin 에서 생성한 database이름
    )

  5. 플라스크와 DB를 연결해주는 psycopg2 설치
    (myproject) c:\Flask\projects\myproject>pip install psycopg2

  6. 기존 migrations 폴더 삭제

  7. (myproject) c:\Flask\projects\myproject>flask db init
  8. (myproject) c:\Flask\projects\myproject>flask db migrate
  9. (myproject) c:\Flask\projects\myproject>flask db upgrade
  10. (myproject) c:\Flask\projects\myproject>flask run

AWS서버에도 linux버전 설치해서 연동해 보도록 하겠습니다.

jinoung 1042

M 2021년 11월 12일 7:16 오후

목록으로
1개의 답변이 있습니다. 1 / 1 Page

AWS에서 ServerPostgreSQL로 DB변경하여 연동하였습니다...

$sudo apt-get install postgresql postgresql-contrib
$sudo -u postgres psql
postgres=#alter user postgress with password 'xxxx'
postgres=#create database diary (또는 bash에서 sudo -u postgres create db diary)
postgres=#\u
postgres=#\list
postgres=#\q
$sudo -u postgres psql (패스워드 묻는지 확인)
password:****
postgres=#\q
$sudo vi /etc/postgresql/12/main/pg_hba.conf
# Database administrative login by Unix domain socket
local all postgres md5

$sudo /etc/init.d/postgresql restart
$. ~/venvs/myproject.sh
(myproject)$pip install psycopg2-binary
(myproject)$vi config/production.py
SQLALCHEMY_DATABASE_URI = 'postgresql+psycopg2://{user}:{pw}@{url}/{db}'.format(
user='postgres',
pw='xxxx',
url='localhost',
db='diary'
)
(myproject)$rm -rf migrations
(myproject)$flask db init
(myproject)$flask db migrate
(myproject)$flask db upgrade
(myproject)$sudo systemctl restart myproject.service

jinoung

M 2021년 11월 13일 10:29 오전