아래 링크를 참조하여 MariaDB를 설치해주고, 기본적인 세팅을 진행해줍니다.

https://growingsaja.tistory.com/250

 

기본적인 내용이 세팅되어있다고 가정합니다. 안되있을 경우 위 링크에서 안내해주는 세팅 글로 이동해 진행 후 Flask 실습을 해주세요.

 

 

 

1. 사용자 정보 테이블 만들기

mysql -u root -p

CREATE TABLE test.User (
id int UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY COMMENT '교유값',
username VARCHAR(64) UNIQUE KEY COMMENT '사용자명',
email VARCHAR(120) UNIQUE KEY COMMENT '사용자이메일',
password_hash VARCHAR(120) COMMENT '비밀번호 해시값',
INDEX idx_username (username),
INDEX idx_email (email)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT '기본 사용자 정보 테이블';

 

 

 

2. 해당 테이블 접속 전용 계정 생성 및 권한 부여

>>> GRANT ALL PRIVILEGS ON test.* TO testuser@localhost IDENTIFIED BY 'password_for_testuser';

>>> FLUSH PRIVILEGES;

 

 

 

3. 게시글 테이블 만들기

>>> CREATE TABLE test.Post (

id int UNSIGNED AUTO_INCREMENT PRIMARY KEY COMMENT '교유값',

body VARCHAR(140) COMMENT '내용',

timestamp TIMESTAMP DEFAULT NOW() COMMENT '등록일시',

user_idx int COMMENT '사용자index값'

) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT '게시글';

 

 

 

4. 유저 생성, 글 생성

>>> INSERT INTO test.User (username, email) VALUES ('Susan', 'susan@example.com');

>>> INSERT INTO test.Post (body, user_idx) VALUES ('This is forst post of Susan!', '1');

 

 

 

5. 아래 링크를 통해 각종 기능 추가를 위한 사전 준비 진행

https://growingsaja.tistory.com/274

 

 

 

6. mysql의 DB와 app.db를 동기화시키는 프로그램을 추가로 개발해 탑재해주는 형태로 진행해도 무방하다.

Flask에서 지원되는 각종 기능들을 사용하기에는 mysql보다 Flask-SQLAlchemy를 활용하는 것을 추천한다. (로그인/로그아웃 기능에 대한 부분들 때문에)

 

 

 

7. pymysql을 설치하고 활용해 개발 진행

$ pip install pymysql

아래 참고 링크를 확인 후 응용해 개발 가능하다.

https://growingsaja.tistory.com/15

 

 

+ Recent posts