class Answer(db.Model): id = db.Column(db.Integer, primary_key = True) question_id = db.Column(db.Integer, db.ForeignKey("question.id", ondelete = "CASCADE")) question = db.relationship("Question", backref = db.backref("answer_set", )) content = db.Column(db.Text(), nullable = False) create_date = db.Column(db.DateTime(), nullable = False)
class Answer(db.Model): id = db.Column(db.Integer, primary_key=True) question_id = db.Column(db.Integer, db.ForeignKey('question.id', ondelete='CASCADE')) question = db.relationship('Question', backref=db.backref('answer_set')) content = db.Column(db.Text(), nullable=False) create_date = db.Column(db.DateTime, nullable=False)
class User(db.Model): id = db.Column(db.Integer, primary_key=True) # 자동으로 증가하는 user 모델의 기본 키 # nullable = False : null값 허용하지 않음 # unique = True : 같은 값을 저장할 수 없다. 이렇게 해야 중복되어 저장되지 않음 username = db.Column(db.String(150), unique=True, nullable=False) password = db.Column(db.String(200), nullable=False) email = db.Column(db.String(120), unique=True, nullable=False)
class Question(db.Model): id = db.Column(db.Integer, primary_key=True) subject = db.Column(db.String(200), nullable=False) content = db.Column(db.Text(), nullable=False) create_date = db.Column(db.DateTime(), nullable=False) user_id = db.Column(db.Integer, db.ForeignKey('user.id', ondelete='CASCADE'), nullable=False) user = db.relationship('User', backref=db.backref('question_set'))
class Question(db.Model): #질문을 등록할 수 있는 테이블 생성 id = db.Column(db.Integer, primary_key=True) #이 테이블에 id라는 컬럼을 만들고, int형 데이터 넣어라. subject = db.Column(db.String(200), nullable=False) #200글자로 제한. nullable= 비어두기 허용 유무.. content = db.Column(db.Text(), nullable=False) create_date = db.Column(db.DateTime(), nullable=False)
class User(db.Model): # id = db.Column(db.Integer, primary_key=True) id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(150), unique=True, nullable=False) # 중복 저장 방지 password = db.Column(db.String(200), nullable=False) email = db.Column(db.String(120), unique=True, nullable=False) # 중복 저장 방지
class Question(db.Model ): #SQLAlchemy의 Model을 인자로 받음. DB에서 Question이라는 테이블을 생성하는 것과 동일 id = db.Column(db.Integer, primary_key=True) #이 변수들을 각각 Question 테이블의 컬럼이 됨 subject = db.Column(db.String(200), nullable=False) #여기서 200은 사이즈 제한 content = db.Column(db.Text(), nullable=False) # String과 달리 Text는 글자 수 제한이 없음 create_date = db.Column(db.DateTime(), nullable=False)
class VocaWord(db.Model): # 단어 id = db.Column(db.Integer, primary_key=True) voca_id = db.Column(db.Integer, db.ForeignKey('voca.id', ondelete="CASCADE")) voca = db.relationship('Voca', backref=db.backref('voca_set', cascade='all, delete-orphan')) word = db.Column(db.String(200), nullable=False) # 단어장 단어 mean = db.Column(db.String(200), nullable=False) # 단어장 뜻
class Answer(db.Model): id = db.Column(db.Integer, primary_key=True) #primary_key는 고윳값. 주민등록같은거 question_id = db.Column( db.Integer, db.ForeignKey('question.id', ondelete='CASCADE') ) #ForeignKey 다른 테이블의 pk(primary key)값을 쓸때 여기서는 foreignkey라고 함. ondelete= 원래 것이 삭제디면 여기서도 삭제되라. 연동의 의미.. question = db.relationship('Question', backref=db.backref( 'answer_set')) #참조 #backref는 역참조. relationship은 묶어주는 역할 content = db.Column(db.Text(), nullable=False) create_date = db.Column(db.DateTime(), nullable=False)
class Voca(db.Model): # 단어장 id = db.Column(db.Integer, primary_key=True) # 단어장 고유번호 vocaname = db.Column(db.String(150), nullable=False) # 단어장 이름 user_id = db.Column(db.String(150), db.ForeignKey('user.id', ondelete="CASCADE")) user = db.relationship( 'User', backref=db.backref('voca_set', cascade='all, delete-orphan')) # 유저 데이터 RK & 역참조 tag = db.Column(db.Text(), nullable=False) # 단어장 태그
class Answer(db.Model): id = db.Column(db.Integer, primary_key=True) question_id = db.Column(db.Integer, db.ForeignKey('question.id', ondelete='CASCADE')) # 모델 간 관계 정의 question = db.relationship( 'Question', backref=db.backref('answer_set', cascade='all, delete-orphan')) # 참조 모델 / 역참조 content = db.Column(db.Text(), nullable=False) create_date = db.Column(db.DateTime(), nullable=False)
class Answer(db.Model): id = db.Column(db.Integer, primary_key=True) question_id = db.Column(db.Integer, db.ForeignKey('question.id', ondelete='CASCADE') ) #외래키, Question의 PK값(id)을 사용, 질문 삭제되면 같이 삭제되도록 설정 question = db.relationship( 'Question', backref=db.backref('answer_set') ) #컬럼이 아니고 관계(역참조 - question_id가 똑같은 답변들은 해당 id의 질문을 참조하여 하나로 묶어줌) #즉, 어떤 질문에 대한 답변인지 나타내기 위한 것 content = db.Column(db.Text(), nullable=False) create_date = db.Column(db.DateTime(), nullable=False)
class user_info(db.Model): id = db.Column(db.Integer, primary_key=True) pw = db.Column(db.String(10), nullable=False) name = db.Column(db.String(5), nullable=False) phone = db.Column(db.String(15), nullable=False) age = db.Column(db.String(2), nullable=False) birth = db.Column(db.String(8), nullable=False) gender = db.Column(db.String(2), nullable=False) subject = db.Column(db.String(200), nullable=False) content = db.Column(db.Text(), nullable=False) create_date = db.Column(db.DateTime(), nullable=False)
class Userinfo(db.Model): user_id = db.Column(db.Text(), primary_key=True) #user_pw= db.Column(db.Integer, db.ForeignKey('user_name',ondelete='CASCADE')) #user_name = db.relationship('Question',backref=db.backref('answer_set')) user_pw = db.Column(db.Integer(), nullable=False) user_name = db.Column(db.Text(), nullable=False) user_age = db.Column(db.Integer(), nullable=False) user_add = db.Column(db.Text(), nullable=False) user_sex = db.Column(db.Text(), nullable=False) user_sch = db.Column(db.Text(), nullable=False) user_hby = db.Column(db.Text(), nullable=False) user_date = db.Column(db.Integer(), nullable=False) create_date = db.Column(db.DateTime(), nullable=False)
class Answer(db.Model): #답변 DB id = db.Column(db.Integer, primary_key=True) #답변 데이터의 고유 번호 question_id = db.Column(db.Integer, db.ForeignKey('question.id', ondelete="CASCADE")) #질문 데이터의 고유 번호 question = db.relationship( 'Question', backref=db.backref('answer_set', cascade='all, delete-orphan')) #답변 내용 content = db.Column(db.Text(), nullable=False) #답변 내용 create_date = db.Column(db.DateTime(), nullable=False) #답변 작성일시 user_id = db.Column(db.Integer, db.ForeignKey('user.id', ondelete='CASCADE'), nullable=False) user = db.relationship('User', backref=db.backref('answer_set'))
class Answer(db.Model): id = db.Column(db.Integer, primary_key=True) question_id = db.Column(db.Integer, db.ForeignKey('question.id', ondelete='CASCADE')) #db.ForeignKaey는 다른 모델과의 연결 의미 ,ondelete=cascade는 이 답변과 연결된 질문이 삭제될시 답변도 삭제 question = db.relationship('Question', backref=db.backref('answer_set')) #backref속성은 질문에서 답변모델을 참조하기위해서 사용 content = db.Column(db.Text(), nullable=False) create_date = db.Column(db.DateTime(), nullable=False) user_id = db.Column(db.Integer, db.ForeignKey('user.id', ondelete='CASCADE'), nullable=True) user = db.relationship('User', backref=db.backref('answer_set')) voter = db.relationship('User', secondary=answer_voter, backref=db.backref('answer_voter_set'))
class User(db.Model): user_id = db.Column(db.Integer, primary_key=True) pw = db.Column(db.String(20), nullable=False) name = db.Column(db.String(10), nullable=False) age = db.Column(db.Integer, nullable=False) address = db.Column(db.String(40), nullable=False) birth = db.Column(db.String(20), nullable=False) gender = db.Column(db.String(2), nullable=False) create_date = db.Column(db.DateTime(), nullable=False)
class User_info(db.Model): id = db.Column(db.String(10), primary_key=True) pw = db.Column(db.String(100), nullable=False) name = db.Column(db.String(10), nullable=False) age = db.Column(db.Integer, nullable=False) addr = db.Column(db.String(3), nullable=False) birth = db.Column(db.String(6), nullable=False) sex = db.Column(db.Text(), nullable=False) create_date = db.Column(db.String(6), nullable=False)
class Userinfo(db.Model): id = db.Column(db.Integer, primary_key=True) pw = db.Column(db.Integer, nullable=False) name = db.Column(db.String(200), nullable=False) age = db.Column(db.Integer, nullable=False) address = db.Column(db.Text(), nullable=False) birthday = db.Column(db.DateTime(), nullable=False) gender = db.Column(db.Integer, nullable=False) # 남=1, 여=2 create_date = db.Column(db.DateTime(), nullable=False)
class User(db.Model): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(150), unique=True, nullable=False) password = db.Column(db.String(200), nullable=False) email = db.Column(db.String(120), unique=True, nullable=False) intro = db.Column(db.Text(), nullable=True) image_path = db.Column(db.String(300), nullable=True) create_date = db.Column(db.DateTime(), nullable=False) modify_date = db.Column(db.DateTime(), nullable=True)
class Answer(db.Model): id = db.Column(db.integer, primary_key=True)# 이 역시 id는 고유번호이기 때문에 기본키로 설정 question_id = db.Column(db.integer, db.ForeignKey('question_id', ondelete='CASCADE'))# 질문모델과 연결하기 위해 사용 어떤 속성을 기존 모델과 연결하려면 foreignkey를 사용해야함 # db.ForeignKey(연결할 기존 모델 속성, 삭제 연동 설정) #삭제 연동 설정이란 질문 삭제시 question_id 도 삭제됨을 의미 content = db.Column(db.Text(), nullable=False) create_date=db.Column(db.DateTime(), nullable=False) ''' question = db.relationship('Question', backref=db.backref('answer_set')) 기존 모델 참조 참조 모델 backref는 역참조 설정 즉 질문에서 답변을 참조 질문에 해당하는 객체가 a_question이면 a_question.answer_set을 통해 해당 질문에 달린 답변을 참조 가능 ''' '''
class Apireq(db.Model): #기본키 id = db.Column(db.Integer, primary_key=True) subject = db.Column(db.String(200), nullable=False) service_key = db.Column(db.String(100), nullable=False) target_url = db.Column(db.String(200), nullable=False) parameter = db.Column(db.String(200), nullable=False) result_format = db.Column(db.String(200), nullable=True) create_date = db.Column(db.DateTime(), nullable=False) modify_date = db.Column(db.DateTime(), nullable=True) user_id = db.Column(db.Integer, db.ForeignKey('user.id', ondelete='CASCADE'), nullable=False) user = db.relationship('User', backref=db.backref('apireq_set'))
class Review(db.Model): id = db.Column(db.Integer, primary_key=True) title = db.Column(db.String(100), nullable=False) # actors, rolse 다 () 이렇게 세트로 묶어서 입력할 것 actors = db.Column(db.Text(), nullable=False) roles = db.Column(db.Text(), nullable=False) # (극장, 좌석)이 세트로 묶어서 입력할 것 seat = db.Column(db.String(50), nullable=False) content = db.Column(db.Text(), nullable=False) create_date = db.Column(db.String(16), nullable=False)
class Answer(db.Model): id = db.Column(db.Integer, primary_key=True) # 질문 모델과 연결하기 위한 question_id. 어떤 질문에 대한 답변인지 표시하기 위해 foreign key(외부 키) 이용 # db.ForeignKey(연결할 모델의 속성명, 삭제 연동 설정.) # ondelete='CASCADE' : DB에서 쿼리를 이용하여 질문을 삭제하면 해당 질문에 대한 답변도 함께 삭제 question_id = db.Column(db.Integer, db.ForeignKey('question.id', ondelete='CASCADE')) # 답변 모델에서 질문 모델을 참조하기 위해 추가. # db.relationship(참조할 모델명, 역참조 설정) - 역참조 : 질문에서 답변을 참조하는 것 question = db.relationship('Question', backref=db.backref('answer_set')) content = db.Column(db.Text(), nullable=False) create_date = db.Column(db.DateTime(), nullable=False) modify_date = db.Column(db.DateTime(), nullable=True) voter = db.relationship('User', secondary=answer_voter, backref=db.backref('answer_voter_set')) # answer model에 field 추가 user_id = db.Column(db.Integer, db.ForeignKey('user.id', ondelete='CASCADE'), nullable=False) user = db.relationship('User', backref=db.backref('answer_set'))
class Answer(db.Model): id = db.Column(db.Integer, primary_key=True) # 기존 모델과 연동된 속성인 question_id는 foreign key로 설정된다. # ondelete는 삭제시의 설정에 대한 옵션인데, 'CASCADE'로 설정하게 되면 question 데이터 삭제 시에 이와 연동된 answer 데이터도 삭제된다. question_id = db.Column(db.Integer, db.ForeignKey('question.id', ondelete='CASCADE')) # answer 객체에서 question 객체를 상속 # db.relationship('참조할 모델명', backref=역참조 설정 # 역참조: 질문에서 답변을 참조하는 것 - 하나의 질문에 여러개의 답변이 달릴 수 있는데, 질문에서 이 답변들을 참조하는 것 question = db.relationship('Question', backref=db.backref('answer_set')) content = db.Column(db.Text(), nullable=False) create_date = db.Column(db.DateTime(), nullable=False) # user 객체의 id와 연결 user_id = db.Column(db.Integer, db.ForeignKey('user.id', ondelete='CASCADE'), nullable=False) user = db.relationship('User', backref=db.backref('answer_set')) # 수정일자 컬럼 modify_date = db.Column(db.DateTime(), nullable=True) # 추천인 voter = db.relationship('User', secondary=answer_voter, backref=db.backref('answer_voter_set'))
class Comment(db.Model): id = db.Column(db.Integer, primary_key=True) user_id = db.Column(db.Integer, db.ForeignKey('user.id', ondelete='CASCADE'), nullable=False) user = db.relationship('User', backref=db.backref('comment_set')) content = db.Column(db.Text(), nullable=False) create_date = db.Column(db.DateTime(), nullable=False) modify_date = db.Column(db.DateTime()) question_id = db.Column(db.Integer, db.ForeignKey('question.id', ondelete='CASCADE'), nullable=True) question = db.relationship('Question', backref=db.backref('comment_set')) answer_id = db.Column(db.Integer, db.ForeignKey('answer.id', ondelete='CASCADE'), nullable=True) answer = db.relationship('Answer', backref=db.backref('comment_set'))
class Apires(db.Model): #기본키 id = db.Column(db.Integer, primary_key=True) apireq_id = db.Column(db.Integer, db.ForeignKey('apireq.id', ondelete='CASCADE')) apireq = db.relationship('Apireq', backref=db.backref('apires_set')) parameter = db.Column(db.String(200), nullable=False) result_format = db.Column(db.String(200), nullable=True) result_data = db.Column(db.Text(), nullable=False) create_date = db.Column(db.DateTime(), nullable=False) modify_date = db.Column(db.DateTime(), nullable=True) user_id = db.Column(db.Integer, db.ForeignKey('user.id', ondelete='CASCADE'), nullable=False) user = db.relationship('User', backref=db.backref('apires_set'))
class Question(db.Model): id = db.Column(db.Integer, primary_key=True) subject = db.Column(db.String(200), nullable=False) content = db.Column(db.Text(), nullable=False) create_date = db.Column(db.DateTime(), nullable=False) modify_date = db.Column(db.DateTime(), nullable=True) user_id = db.Column(db.Integer, db.ForeignKey("user.id", ondelete="CASCADE"), nullable=False) user = db.relationship("User", backref=db.backref("question_set"))
class Comment(db.Model): id = db.Column(db.Integer, primary_key=True) #댓글 고유번호 user_id = db.Column(db.Integer, db.ForeignKey( 'user.id', ondelete = 'CASCADE'), nullable=False) #댓글 작성자(User 모델과 관계를 가짐) user = db.relationship('User', backref=db.backref('comment_set')) content = db.Column(db.Text(), nullable=False) #댓글 내용 create_date = db.Column(db.DateTime(), nullable=False) #댓글 작성 일시 modify_date = db.Column(db.DateTime()) #질문에 댓글을 작성하면 question_id 필드에 값이 저장되고, 답변에 댓글이 작성되면 answer_id 필드에 값이 저장된다. question_id = db.Column(db.Integer, db.ForeignKey( 'question.id', ondelete='CASCADE'), nullable=True) #댓글의 질문(Questioin 모델과 관계를 가짐) question = db.relationship('Question', backref=db.backref('comment_set')) answer_id = db.Column(db.Integer, db.ForeignKey('answer.id', ondelete='CASCADE'), nullable=True) #댓글의 답변(Answer 모델과 관계를 가짐) answer = db.relationship('Answer', backref=db.backref('comment_set'))
class Question(db.Model): #기본키 id = db.Column(db.Integer, primary_key=True) subject = db.Column(db.String(200), nullable=False) content = db.Column(db.Text(), nullable=False) create_date = db.Column(db.DateTime(), nullable=False) modify_date = db.Column(db.DateTime(), nullable=True) user_id = db.Column(db.Integer, db.ForeignKey('user.id', ondelete='CASCADE'), nullable=False) user = db.relationship('User', backref=db.backref( 'question_set')) #backref : User 모델 데이터를 통해 Question 모델 데이터를 참조 voter = db.relationship('User', secondary=question_voter, backref=db.backref('question_voter_set')) menu_id = db.Column(db.Integer(), db.ForeignKey('menu.id', ondelete='CASCADE'), nullable=False, server_default='1') view_cnt = db.Column(db.Integer, nullable=False, server_default='0')