dbforge->add_field(array( 'app_id' => array( 'type' => 'INT', 'constraint' => 11, 'unsigned' => TRUE, 'auto_increment' => TRUE, 'comment' => 'PK', ), 'app_package' => array( 'type' => 'VARCHAR', 'constraint' => '255', 'default' => '', 'comment' => '패키지명', ), 'app_name' => array( 'type' => 'VARCHAR', 'constraint' => '255', 'default' => '', 'comment' => '어플 이름', ), 'app_sort' => array( 'type' => 'INT', 'constraint' => 11, 'unsigned' => TRUE, 'default' => 0, 'comment' => '정렬순서', ), 'app_policy' => array( 'type' => 'TEXT', 'null' => true, 'comment' => '개인정보취급방침', ), 'app_created_at' => array( 'type' => 'DATETIME', 'null' => true, 'comment' => '생성시간', ), 'app_updated_at' => array( 'type' => 'DATETIME', 'null' => true, 'comment' => '업데이트시간', ), )); $this->dbforge->add_key('app_id', TRUE); $this->dbforge->create_table('apps'); // contents_category table $this->dbforge->add_field(array( 'cat_id' => array( 'type' => 'INT', 'constraint' => 11, 'unsigned' => TRUE, 'auto_increment' => TRUE, 'comment' => 'PK', ), 'app_id' => array( 'type' => 'INT', 'constraint' => 11, 'unsigned' => TRUE, 'default' => 0, 'comment' => '앱 PK', ), 'cat_parent' => array( 'type' => 'INT', 'constraint' => 11, 'unsigned' => TRUE, 'default' => 0, 'comment' => '부모 카테고리', ), 'cat_depth' => array( 'type' => 'TINYINT', 'constraint' => 3, 'unsigned' => TRUE, 'default' => 0, 'comment' => '차수', ), 'cat_code' => array( 'type' => 'VARCHAR', 'constraint' => '100', 'default' => '', 'comment' => '카테고리코드', ), 'cat_name' => array( 'type' => 'VARCHAR', 'constraint' => '255', 'default' => '', 'comment' => '카테고리명', ), 'cat_publish_time' => array( 'type' => 'time', 'null' => true, 'comment' => '발행예약시간', ), 'cat_sort' => array( 'type' => 'TINYINT', 'constraint' => 3, 'unsigned' => TRUE, 'default' => 0, 'comment' => '정렬순서', ), )); $this->dbforge->add_key('cat_id', TRUE); $this->dbforge->add_key('app_id'); $this->dbforge->add_key('cat_code'); $this->dbforge->add_key('cat_sort'); $this->dbforge->create_table('contents_category'); // contents table $this->dbforge->add_field(array( 'con_id' => array( 'type' => 'INT', 'constraint' => 11, 'unsigned' => TRUE, 'auto_increment' => TRUE, 'comment' => 'PK', ), 'app_id' => array( 'type' => 'INT', 'constraint' => 11, 'unsigned' => TRUE, 'default' => 0, 'comment' => '앱 PK', ), 'con_sort' => array( 'type' => 'INT', 'constraint' => 11, 'unsigned' => TRUE, 'default' => 0, 'comment' => '정렬순서', ), 'cat1_id' => array( 'type' => 'INT', 'constraint' => 11, 'unsigned' => TRUE, 'default' => 0, 'comment' => '1차 카테고리 PK', ), 'cat2_id' => array( 'type' => 'INT', 'constraint' => 11, 'unsigned' => TRUE, 'default' => 0, 'comment' => '2차 카테고리 PK', ), 'cat3_id' => array( 'type' => 'INT', 'constraint' => 11, 'unsigned' => TRUE, 'default' => 0, 'comment' => '3차 카테고리 PK', ), 'cat4_id' => array( 'type' => 'INT', 'constraint' => 11, 'unsigned' => TRUE, 'default' => 0, 'comment' => '4차 카테고리 PK', ), 'user_id' => array( 'type' => 'INT', 'constraint' => 11, 'unsigned' => TRUE, 'default' => 0, 'comment' => '회원 PK', ), 'user_name' => array( 'type' => 'VARCHAR', 'constraint' => 100, 'null' => true, 'comment' => '작성자명', ), 'con_title' => array( 'type' => 'VARCHAR', 'constraint' => 255, 'null' => true, 'comment' => '제목', ), 'con_content' => array( 'type' => 'TEXT', 'null' => true, 'comment' => '내용', ), 'crawl_id' => array( 'type' => 'INT', 'constraint' => 11, 'unsigned' => TRUE, 'default' => 0, 'comment' => '수집목록 PK', ), 'con_origin_url' => array( 'type' => 'VARCHAR', 'constraint' => 255, 'null' => true, 'comment' => '원글주소', ), 'con_hit' => array( 'type' => 'INT', 'constraint' => 11, 'unsigned' => TRUE, 'default' => 0, 'comment' => '조회수', ), 'con_created_at' => array( 'type' => 'DATETIME', 'null' => true, 'comment' => '생성시간', ), 'con_updated_at' => array( 'type' => 'DATETIME', 'null' => true, 'comment' => '업데이트시간', ), 'con_published_at' => array( 'type' => 'DATETIME', 'null' => true, 'comment' => '발행시간', ), 'is_open' => array( 'type' => 'TINYINT', 'constraint' => 3, 'unsigned' => TRUE, 'default' => 0, 'comment' => '발행여부', ), 'is_del' => array( 'type' => 'TINYINT', 'constraint' => 3, 'unsigned' => TRUE, 'default' => 0, 'comment' => '삭제여부', ), )); $this->dbforge->add_key('con_id', TRUE); $this->dbforge->add_key('app_id'); $this->dbforge->add_key('con_sort'); $this->dbforge->add_key('cat_id'); $this->dbforge->add_key('user_id'); $this->dbforge->create_table('contents'); // contents_comment table $this->dbforge->add_field(array( 'com_id' => array( 'type' => 'INT', 'constraint' => 11, 'unsigned' => TRUE, 'auto_increment' => TRUE, 'comment' => 'PK', ), 'con_id' => array( 'type' => 'INT', 'constraint' => 11, 'unsigned' => TRUE, 'default' => 0, 'comment' => '컨텐츠 PK', ), 'app_id' => array( 'type' => 'INT', 'constraint' => 11, 'unsigned' => TRUE, 'default' => 0, 'comment' => '앱 PK', ), 'con_user_id' => array( 'type' => 'INT', 'constraint' => 11, 'unsigned' => TRUE, 'default' => 0, 'comment' => '컨텐츠 작성자 PK', ), 'user_id' => array( 'type' => 'INT', 'constraint' => 11, 'unsigned' => TRUE, 'default' => 0, 'comment' => '댓글 작성자 PK', ), 'com_content' => array( 'type' => 'TEXT', 'null' => true, 'comment' => '댓글내용', ), 'com_created_at' => array( 'type' => 'DATETIME', 'null' => true, 'comment' => '생성시간', ), 'com_updated_at' => array( 'type' => 'DATETIME', 'null' => true, 'comment' => '업데이트시간', ), )); $this->dbforge->add_key('com_id', TRUE); $this->dbforge->add_key('con_id'); $this->dbforge->add_key('app_id'); $this->dbforge->add_key('user_id'); $this->dbforge->create_table('contents_comment'); // contents_like table $this->dbforge->add_field(array( 'like_id' => array( 'type' => 'INT', 'constraint' => 11, 'unsigned' => TRUE, 'auto_increment' => TRUE, 'comment' => 'PK', ), 'con_id' => array( 'type' => 'INT', 'constraint' => 11, 'unsigned' => TRUE, 'default' => 0, 'comment' => '컨텐츠 PK', ), 'app_id' => array( 'type' => 'INT', 'constraint' => 11, 'unsigned' => TRUE, 'default' => 0, 'comment' => '앱 PK', ), 'user_id' => array( 'type' => 'INT', 'constraint' => 11, 'unsigned' => TRUE, 'default' => 0, 'comment' => 'Like 한 회원 PK', ), 'user_token' => array( 'type' => 'VARCHAR', 'constraint' => 255, 'null' => TRUE, 'comment' => 'Like 한 회원 TOKEN', ), 'target_user_id' => array( 'type' => 'INT', 'constraint' => 11, 'unsigned' => TRUE, 'default' => 0, 'comment' => 'Like 당한 회원 PK', ), 'like_at' => array( 'type' => 'DATETIME', 'null' => true, 'comment' => '좋아요한 시간', ), )); $this->dbforge->add_key('like_id', TRUE); $this->dbforge->add_key('con_id'); $this->dbforge->add_key('app_id'); $this->dbforge->add_key('user_id'); $this->dbforge->create_table('contents_like'); // contents_bookmark table $this->dbforge->add_field(array( 'bookmark_id' => array( 'type' => 'INT', 'constraint' => 11, 'unsigned' => TRUE, 'auto_increment' => TRUE, 'comment' => 'PK', ), 'con_id' => array( 'type' => 'INT', 'constraint' => 11, 'unsigned' => TRUE, 'default' => 0, 'comment' => '컨텐츠 PK', ), 'app_id' => array( 'type' => 'INT', 'constraint' => 11, 'unsigned' => TRUE, 'default' => 0, 'comment' => '앱 PK', ), 'user_id' => array( 'type' => 'INT', 'constraint' => 11, 'unsigned' => TRUE, 'default' => 0, 'comment' => 'Like 한 회원 PK', ), 'target_user_id' => array( 'type' => 'INT', 'constraint' => 11, 'unsigned' => TRUE, 'default' => 0, 'comment' => 'Like 당한 회원 PK', ), 'bookmark_at' => array( 'type' => 'DATETIME', 'null' => true, 'comment' => '좋아요한 시간', ), )); $this->dbforge->add_key('bookmark_id', TRUE); $this->dbforge->add_key('con_id'); $this->dbforge->add_key('app_id'); $this->dbforge->add_key('user_id'); $this->dbforge->create_table('contents_bookmark'); // notice table $this->dbforge->add_field(array( 'notice_id' => array( 'type' => 'INT', 'constraint' => 11, 'unsigned' => TRUE, 'auto_increment' => TRUE, 'comment' => 'PK', ), 'app_id' => array( 'type' => 'INT', 'constraint' => 11, 'unsigned' => TRUE, 'default' => 0, 'comment' => '앱 PK', ), 'user_id' => array( 'type' => 'INT', 'constraint' => 11, 'unsigned' => TRUE, 'default' => 0, 'comment' => '작성한 회원 PK', ), 'user_name' => array( 'type' => 'VARCHAR', 'constraint' => 100, 'null' => true, 'comment' => '작성자명', ), 'notice_title' => array( 'type' => 'VARCHAR', 'constraint' => 255, 'null' => true, 'comment' => '공지제목', ), 'notice_content' => array( 'type' => 'TEXT', 'null' => true, 'comment' => '공지내용', ), 'created_at' => array( 'type' => 'DATETIME', 'null' => true, 'comment' => '작성 시간', ), 'updated_at' => array( 'type' => 'DATETIME', 'null' => true, 'comment' => '최종업데이트 시간', ), )); $this->dbforge->add_key('notice_id', TRUE); $this->dbforge->add_key('user_id'); $this->dbforge->create_table('notice'); // qna table $this->dbforge->add_field(array( 'qna_id' => array( 'type' => 'INT', 'constraint' => 11, 'unsigned' => TRUE, 'auto_increment' => TRUE, 'comment' => 'PK', ), 'app_id' => array( 'type' => 'INT', 'constraint' => 11, 'unsigned' => TRUE, 'default' => 0, 'comment' => '앱 PK', ), 'user_id' => array( 'type' => 'INT', 'constraint' => 11, 'unsigned' => TRUE, 'default' => 0, 'comment' => '작성한 회원 PK', ), 'user_name' => array( 'type' => 'VARCHAR', 'constraint' => 100, 'null' => true, 'comment' => '작성자명', ), 'qna_title' => array( 'type' => 'vARCHAR', 'constraint' => 255, 'null' => true, 'comment' => '문의제목', ), 'qna_content' => array( 'type' => 'TEXT', 'null' => true, 'comment' => '문의내용', ), 'created_at' => array( 'type' => 'DATETIME', 'null' => true, 'comment' => '작성 시간', ), 'updated_at' => array( 'type' => 'DATETIME', 'null' => true, 'comment' => '최종업데이트 시간', ), )); $this->dbforge->add_key('qna_id', TRUE); $this->dbforge->add_key('user_id'); $this->dbforge->create_table('qna'); // contents_tag table $this->dbforge->add_field(array( 'tag_id' => array( 'type' => 'INT', 'constraint' => 11, 'unsigned' => TRUE, 'auto_increment' => TRUE, 'comment' => 'PK', ), 'con_id' => array( 'type' => 'INT', 'constraint' => 11, 'unsigned' => TRUE, 'default' => 0, 'comment' => '컨텐츠 PK', ), 'app_id' => array( 'type' => 'INT', 'constraint' => 11, 'unsigned' => TRUE, 'default' => 0, 'comment' => '앱 PK', ), 'tag_name' => array( 'type' => 'VARCHAR', 'constraint' => 255, 'null' => TRUE, 'comment' => '태그명', ), )); $this->dbforge->add_key('tag_id', TRUE); $this->dbforge->add_key('con_id'); $this->dbforge->add_key('app_id'); $this->dbforge->create_table('contents_tag'); // fcm_result table $this->dbforge->add_field(array( 'id' => array( 'type' => 'INT', 'constraint' => 11, 'unsigned' => TRUE, 'auto_increment' => TRUE, 'comment' => 'PK', ), 'sendto' => array( 'type' => 'VARCHAR', 'constraint' => '5', 'default' => '', 'comment' => '발송대상', ), 'topic' => array( 'type' => 'VARCHAR', 'constraint' => '100', 'default' => '', 'comment' => '토픽', ), 'user_token' => array( 'type' => 'VARCHAR', 'constraint' => '255', 'default' => '', 'comment' => '토큰', ), 'title' => array( 'type' => 'VARCHAR', 'constraint' => '255', 'default' => '', 'comment' => '제목', ), 'message' => array( 'type' => 'VARCHAR', 'constraint' => '255', 'default' => '', 'comment' => '내용', ), 'message_id' => array( 'type' => 'VARCHAR', 'constraint' => '20', 'default' => '', 'comment' => '메세지아이디', ), 'success' => array( 'type' => 'TINYINT', 'constraint' => 3, 'default' => 0, 'comment' => '성공', ), 'failure' => array( 'type' => 'TINYINT', 'constraint' => 3, 'default' => 0, 'comment' => '실패', ), 'response' => array( 'type' => 'VARCHAR', 'constraint' => '255', 'default' => '', 'comment' => '응답값', ), 'regdate' => array( 'type' => 'DATETIME', 'null' => true, 'comment' => '등록일', ), )); $this->dbforge->add_key('id', TRUE); $this->dbforge->create_table('fcm_result'); // crawl_list table $this->dbforge->add_field(array( 'crawl_id' => array( 'type' => 'INT', 'constraint' => 11, 'unsigned' => TRUE, 'auto_increment' => TRUE, 'comment' => 'PK', ), 'app_id' => array( 'type' => 'INT', 'constraint' => 11, 'unsigned' => TRUE, 'default' => 0, 'comment' => '앱 PK', ), 'cat_id' => array( 'type' => 'INT', 'constraint' => 11, 'unsigned' => TRUE, 'default' => 0, 'comment' => '카테고리 PK', ), 'crawl_title' => array( 'type' => 'VARCHAR', 'constraint' => 255, 'null' => true, 'comment' => '제목', ), 'site_type' => array( 'type' => 'TINYINT', 'constraint' => 3, 'unsigned' => TRUE, 'default' => 0, 'comment' => '사이트 종류', ), 'site_key' => array( 'type' => 'VARCHAR', 'constraint' => 255, 'null' => true, 'comment' => '크롤할주소', ), 'created_at' => array( 'type' => 'DATETIME', 'null' => true, 'comment' => '생성시간', ), 'updated_at' => array( 'type' => 'DATETIME', 'null' => true, 'comment' => '생성시간', ), 'latest_crawled_at' => array( 'type' => 'DATETIME', 'null' => true, 'comment' => '최종 수집시간', ), )); $this->dbforge->add_key('crawl_id', TRUE); $this->dbforge->add_key('app_id'); $this->dbforge->create_table('crawl_list'); } public function down() { } }