Migration 데이터베이스 이전 도구 Phinx
설명
Phinx를 사용하면 개발자가 데이터베이스를 간결하게 수정하고 유지할 수 있습니다. 이는 인간의 손으로 SQL 문을 작성하는 것을 피하고 강력한 PHP API를 사용하여 데이터베이스 이전을 관리합니다. 개발자는 버전 관리를 사용하여 데이터베이스 이전을 관리할 수 있습니다. Phinx를 사용하여 서로 다른 데이터베이스 간에 데이터 이동을 쉽게 할 수 있습니다. 또한 실행된 이전 스크립트를 추적할 수 있으므로 개발자는 더 나은 시스템을 작성하는 데 집중할 수 있습니다.
프로젝트 주소
https://github.com/cakephp/phinx
설치
composer require robmorgan/phinx
공식 중국어 문서 주소
자세한 사용법은 공식 중국어 문서를 참조하고, 여기에서는 webman에서의 구성 및 사용 방법에 대해 설명합니다.
https://tsy12321.gitbooks.io/phinx-doc/content/
이전 파일 디렉토리 구조
.
├── app 응용 프로그램 디렉토리
│ ├── controller 컨트롤러 디렉토리
│ │ └── Index.php 컨트롤러
│ ├── model 모델 디렉토리
......
├── database 데이터베이스 파일
│ ├── migrations 이전 파일
│ │ └── 20180426073606_create_user_table.php
│ ├── seeds 테스트 데이터
│ │ └── UserSeeder.php
......
phinx.php 설정
프로젝트 루트 디렉토리에 phinx.php 파일을 만듭니다.
<?php
return [
"paths" => [
"migrations" => "database/migrations",
"seeds" => "database/seeds"
],
"environments" => [
"default_migration_table" => "phinxlog",
"default_database" => "dev",
"default_environment" => "dev",
"dev" => [
"adapter" => "DB_CONNECTION",
"host" => "DB_HOST",
"name" => "DB_DATABASE",
"user" => "DB_USERNAME",
"pass" => "DB_PASSWORD",
"port" => "DB_PORT",
"charset" => "utf8"
]
]
];
사용 권고사항
이전 파일은 코드가 병합된 후에 다시 수정할 수 없고, 문제가 발생하면 수정 또는 삭제 작업 파일을 새로 만들어야 합니다.
데이터 테이블 생성 작업 파일 명명 규칙
{time(자동 생성)}_create_{테이블명 영문 소문자}
데이터 테이블 수정 작업 파일 명명 규칙
{time(자동 생성)}_modify_{테이블명 영문 소문자+특정 수정사항 영문 소문자}
데이터 테이블 삭제 작업 파일 명명 규칙
{time(자동 생성)}_delete_{테이블명 영문 소문자+특정 수정사항 영문 소문자}
데이터 채우기 파일 명명 규칙
{time(자동 생성)}_fill_{테이블명 영문 소문자+특정 수정사항 영문 소문자}