เครื่องมือการซัพเปอร์การย้ายฐานข้อมูล 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(auto create)}_create_{ชื่อตารางเป็นภาษาอังกฤษตัวเล็ก}
กฎเกณฑ์การตั้งชื่อของไฟล์การแก้ไขตาราง
{time(auto create)}_modify_{ชื่อตารางเป็นภาษาอังกฤษตัวเล็ก+รายการแก้ไขเป็นภาษาอังกฤษตัวเล็ก}
กฎเกณฑ์การตั้งชื่อของไฟล์การลบตาราง
{time(auto create)}_delete_{ชื่อตารางเป็นภาษาอังกฤษตัวเล็ก+รายการแก้ไขเป็นภาษาอังกฤษตัวเล็ก}
กฎเกณฑ์การตั้งชื่อของไฟล์การเติมข้อมูล
{time(auto create)}_fill_{ชื่อตารางเป็นภาษาอังกฤษตัวเล็ก+รายการแก้ไขเป็นภาษาอังกฤษตัวเล็ก}