[점프 투 플라스크] Host에서 PostgreSQL 연동
Local Host 에서 postgresql을 설치하고 연동해 보았습니다.
1. window 용 postgresql 설치 (pgadmin도 함께 설치됨)
https://www.enterprisedb.com/downloads/postgres-postgresql-downloads
- pgadmin 실행해서 pybo database생성
- 왼쪽 browser 창에서 Databases 우클릭 -> Create -> Database
-
사용자는 postgres 유지, Database명 입력하고 저장
-
development.py 수정
SQLALCHEMY_DATABASE_URI = 'postgresql://{user}:{pw}@{uri}/{db}'.format(
user = 'postgres', #postgresql 설치시 기본 사용자
pw = 'xxxx', #postgresql 설치시 입력한 암호
uri = 'localhost',
db = 'pybo' #pgadmin 에서 생성한 database이름
) -
플라스크와 DB를 연결해주는 psycopg2 설치
(myproject) c:\Flask\projects\myproject>pip install psycopg2 -
기존 migrations 폴더 삭제
- (myproject) c:\Flask\projects\myproject>flask db init
- (myproject) c:\Flask\projects\myproject>flask db migrate
- (myproject) c:\Flask\projects\myproject>flask db upgrade
- (myproject) c:\Flask\projects\myproject>flask run
AWS서버에도 linux버전 설치해서 연동해 보도록 하겠습니다.
jinoung 님 1037
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 오전