[ codeigniter ] Migration 사용방법 > Codeigniter

본문 바로가기
사이트 내 전체검색

Codeigniter

팁자료 [ codeigniter ] Migration 사용방법

페이지 정보

작성자 웹지기 댓글 0건 조회 4,184회 작성일 22-01-11 15:31

본문

ciboard 에서 migrations 클래스 사용법

 

1. 마이그레이션 활성화 비활성화

 - application/config/migration.php 14줄

   $config['migration_enabled'] = FALSE;  부분을  => TRUE로 변경

 - 32줄 타입선택 ==> timestamp

 - $config['migration_version'] = 0;   ===> 버젼설정

 - 폴더설정 ==> $config['migration_path'] = APPPATH.'migrations/'; 

 

2. 마이그레이션 만들기 

 - application/migrations/20220111090000_blog.php  

   (블로그에 대한 DB를 만들때 예제 - timestamp로 설정된 값 _ db명.php )

 - 코드 내용 대략

<?php defined('BASEPATH') OR exit('No direct script access allowed');

class Migration_Blog extends CI_Migration {

    public function up() {

            $this->dbforge->add_field(array(

            'id' => array(

                    'type' => 'INT',

                    'constraint' => 5,

                    'unsigned' => TRUE,

                    'auto_increment' => TRUE

            ),

            'name' => array(

                    'type' => 'VARCHAR',

                    'constraint' => '100'

            ),

            'description' => array(

                    'type' => 'TEXT',

                    'null' => TRUE

            ),

        ));

        $this->dbforge->add_key('id', TRUE);

        $this->dbforge->create_table('blog');

    }


    public function down()

    {

        $this->dbforge->drop_table('blog');

    }

}

 

3. 실행 클래스 만들기

 - application/controllers/Migrate.php

 <?php

defined('BASEPATH') OR exit('No direct script access allowed');


/**

 * 마이페이지와 관련된 controller 입니다.

 */

 class Migrate extends CB_Controller

{

    /**

     * 모델을 로딩합니다

     */

    protected $models = array();


    /**

     * 헬퍼를 로딩합니다

     */

    protected $helpers = array('form', 'array');


    function __construct()

    {

        parent::__construct();


        /**

         * 라이브러리를 로딩합니다

         */

        $this->load->library(array('pagination', 'querystring'));


    }


    public function index()

    {

        // 이벤트 라이브러리를 로딩합니다

        $eventname = 'event_mypage_index';

        $this->load->event($eventname);


        $view = array();

        $view['view'] = array();


        $this->load->library('migration');

        if ($this->migration->current() === FALSE)

        {

            echo $this->migration->error_string();

            //show_error($this->migration->error_string());

        }

        else

        {

            echo 'Table Migrated Successfully.';

        }

    }

 

소스코드 실행( ciboard 기준 )  ::: http://localhost/migrate
이런식으로 실행을 하게 되면 DB table이 없다면 새로 생성이 되고 있다면 버젼을 바꾸게 되겠지요??

추천0 비추천0

댓글목록

등록된 댓글이 없습니다.

Total 20건 1 페이지
  • 열람중 팁자료[ codeigniter ] Migration 사용방법
  • ciboard 에서 migrations 클래스 사용법 1. 마이그레이션 활성화 비활성화 - application/config/migration.php 14줄 $config['migration_enabled'] = FALSE; 부분을 =&gt; TRUE로 변경 - 32줄 타입선택 ==&gt; timestamp - $config['migration_version'] = 0; ===&gt; 버젼설정 - 폴더설정 ==&gt; $config['migrat...
  • 웹지기 01-11 4185 0 0 댓글 0
  • 18 팁자료[ codeigniter ] 도메인 포워딩시 로그인이 안되는 문제 (IE P3P 규약 때문에 발생)
  • ciboard 사용중에 다음과 같은 오류(?)가 발생해서 검색을 해봤더니 "IE P3P 규약"때문에 그렇다고 하더라. 도메인으로 IP를 포워딩하게 되면 로그인이나 세션에 문제가 없어야 하지만, 로그인이 되지 않는 경우가 있다. 이 경우 오류를 확인해 보면 javascript 오류가 발생해서 아예 전송을 못하거나 이상한 오류들이 발생한다. 그리고 소스보기를 통해 확인해 보면 form 부분이 현재 도메인으로 되어있지 않고 IP형식 이거나 포워딩 이전의 ip주소를 나타내게 ...
  • 웹지기 01-03 5143 0 0 댓글 0
  • 12 팁자료[ codeigniter ] HTMLPurifier.standalone.php php7.4 {$i} {0} …
  • php7.4에서 $str = "test"; echo($str{0}); 이러한 코드로 사용이 가능했던 부분이 수정되어 $str="test"; echo($str[0]); 이러한 코드로 사용을 해야 오류가 발생하지 않는다. /plugin/htmnlpurifier/HTMLPurifier.standalone.php 3908 줄 $in = ord($str{$i});php7.4 대처 구문 수정 =&gt;{$i} 대신 [$i] 사용 $in = ord(...
  • 웹지기 08-30 3593 0 0 댓글 0
  • 10 팁자료[ CodeIgniter ] ci_export 설치 방법 설명
  • /application/config/config.php =&gt; base url 수정( 기본 설정 되어있음 ) /application/config/config.php =&gt; encryption_key ( 암호키 세션 사용시 - 기본 설정 되어 있음 ) /application/config/database.php =&gt; database 설정
  • 웹지기 07-19 2342 0 0 댓글 0
  • 9 팁자료[ Codeigniter ] ciboard install/setp5 500 error [ xampp ]
  • xampp 환경에 ciboard설치시 install/step5 부분에서 자꾸 500 에러가 발생해서 확인해 보았다. php.ini 파일 설정 확인 max_execution_time=30 으로 되어있는경우 30초의 뒤에는 HTTP ERROR 500오류를 뱉어내고 종료시킨다. db의 일부와 table의 일부 컬럼은 저장이 되지만 전부가 저장되어있지 않아 홈페이지에 접속을 하게 되면 로그인도 되지 않는다 관리자의 계정정보도 저장이 되어 지지않았다. php.ini 의 max_ex...
  • 웹지기 07-18 2723 0 0 댓글 0
  • 8 팁자료[ codeigniter ] php5.6 이상일 때 application/json 전송시 오류
  • php5.6 이상에서 content-type application/json로 전송시 $_POST로 데이터를 받을 수 가 없다. row데이터에서 값을 가져와서 파싱해야 하고 $HTTP_ROW_POST_DATA가 php5.6이상에서는 deprecated 되기 때문이다 $aData = var_export(file_get_contents('php://input'),TRUE); $aArr = json_decode(str_replace("'", ""...
  • 웹지기 05-07 2904 0 0 댓글 0
  • 7 팁자료[ codeigniter ] 폼 전송시 데이터 짤림, input post의 전송 개수
  • codeigniter ciboard의 리스트 페이지의 경우 선택된 페이지의 값만을 넘기는게 아니라, 해당 폼의 모든 input 값을 넘겨버린다. print_r2($this-&gt;input-&gt;post()); 로 값을 확인 할 경우 input으로 되어있는 모든값들을 전송하므로 php.ini 에서 설정되어있는 max_input_vars = 1000 이라는 값 때문에 총 1000개의 input 값만을 전송하고 나머지 값은 모두 날려 버린다. 그렇다 이 값을 ...
  • 웹지기 04-26 3223 1 0 댓글 1
게시물 검색

회원로그인

접속자집계

오늘
8,118
어제
56,257
최대
61,067
전체
10,971,720

그누보드5
Copyright © funyphp.com. All rights reserved.