CakePHP2 시스템의 CakeDC Migrations 플러그인 마이그레이션 파일 제작

4195 단어 PHPcakephp2.x

마이그레이션 파일 만들기


데이터베이스 업데이트 주기 정보


CakeDC Migrations 플러그인을 이용한 데이터베이스 업데이트 주기는 다음과 같습니다.
  • Auto-Migration Files

    데이터베이스는 수동으로 업데이트되며 업데이트된 내용에 따라 자동으로 마이그레이션 파일을 생성합니다.
    이 경우 데이터베이스는 수동으로 업데이트되기 때문에 이전 파일을 사용하지 않습니다.생성된 이전 파일은git로 제출되며 다른 개발자가 사용합니다.
    테이블 정보(열 및 색인 등)만 처리할 수 있습니다.음반을 처리할 수 없다
  • Manually Creating Migration

    빈 마이그레이션 파일을 만들고 업데이트할 데이터베이스에 대한 작업을 기술합니다.마이그레이션 파일을 적용하여 데이터베이스를 업데이트합니다.
    빈 이전 파일에 업데이트할 때 (up) 의 수속과 되돌릴 때 (down) 의 수속을 기록합니다.또한 before와 after 방법에 기술하는 절차를 통해 데이터를 추가로 기록하거나 변경할 수 있다(초기값을 새로운 열에 넣는 등).추가 기록은 기본적으로 모델을 통해 진행된다
  • Auto-Migration Files


  • 만약 아직 하지 않았다면 첫 번째 이전을 진행할 것이다.
    $ Console/cake Migrations.migration run reset
    

  • 그런 다음 현재 데이터베이스 상황에 해당하는 Schema 파일을 만듭니다.
    $ cake schema generate -f  
    
    (모드 파일을 만드는 방법을 물었을 때 기존 모드 파일을 덮어쓰려면 Overwrite를 선택하십시오. Snapshot도 문제가 없습니다. 아직 확인되지 않았습니다.)
    "-f"옵션은 모델이 없는 테이블 모드를 생성하는 데 사용됩니다.
  • 4
  • 이 상태에서 SQL을 사용하여 테이블을 추가하고 열을 변경합니다

  • 그리고 나서
    $ Console/cake Migrations.migration generate -f
    
    새 마이그레이션 파일을 만듭니다.
    "-f"옵션은 모델이 없는 테이블의 마이그레이션 파일을 만드는 데 사용됩니다.
    Do you want compare the schema.php file to the database? (y/n)
    
    이렇게 물어보면 y라고 대답해 주세요.이렇게 되자 이전 서류가 나왔다.이 새 마이그레이션 파일에 따라 모드 파일을 업데이트할지 여부를 묻습니다. 업데이트(Quit)나 덮어쓰기(Overwrite)를 하지 마십시오.
    저장할 때 적당히 이름을 지어주세요.파일 이름은 입력한 이름 앞에 현재 시간 스탬프가 있습니다.
  • Manually Creating Migration


  • 만약 아직 하지 않았다면 첫 번째 이전을 진행할 것이다.
    $ Console/cake Migrations.migration run reset
    

  • 빈 마이그레이션 파일을 만듭니다.
    $ Console/cake Migrations.migration generate  
    
    여기 있다
    Do you want compare the schema.php file to the database? (y/n)
    
    "그래?"라고 물으면 "n"이라고 대답해 주세요.이렇게 되자 이전 서류가 나왔다.

  • 마이그레이션 파일을 편집하십시오.예를 들면, 탁자를 만들려면
    'up' => array(
        'create_table' => array(
            'categories' => array(
                'id' => array(
                'type'    =>'string',
                'null'    => false,
                'default' => null,
                'length'  => 36,
                'key'     => 'primary'
            ),
            'name' => array(
                'type'    =>'string',
                'null'    => false,
                'default' => null
            ),
            'indexes' => array(
                'PRIMARY' => array(
                    'column' => 'id',
                    'unique' => 1
                )
            )
        )
    )
    
    .기타 기술법
    https://github.com/CakeDC/migrations/blob/master/Docs/Documentation/Migrations.md
    참고해주세요.
    저장할 때 적당히 이름을 지어주세요.파일 이름은 입력한 이름 앞에 현재 시간 스탬프가 있습니다.

  • 마이그레이션 파일이 생성되면 마이그레이션 파일을 실행합니다.
    $ Console/cake Migrations.migration run
    
    마이그레이션 파일을 적용할 때마다run 대신 up을 사용합니다.
  • 기타


    현재 마이그레이션 상태는 다음과 같습니다.
    $ Console/cake Migrations.migration status
    
    구문을 사용합니다.

    사이트 축소판 그림


    문서
    https://github.com/CakeDC/migrations/tree/master/Docs/Documentation
    자습서
    https://github.com/CakeDC/migrations/blob/master/Docs/Tutorials/Quick-Start.md

    좋은 웹페이지 즐겨찾기