أداة هجرة قاعدة البيانات Phinx
الوصف
يمكن لـ Phinx أن يسمح للمطورين بتعديل وصيانة قاعدة البيانات بشكل مبسط. إنه يتجنب كتابة الاستعلامات SQL يدوياً، بل يستخدم واجهة برمجة التطبيقات القوية في PHP لإدارة هجرة قاعدة البيانات. يمكن للمطورين استخدام التحكم في الإصدارات لإدارة هجرة قاعدة البيانات. يمكن لـ 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"
]
]
];
اقتراحات الاستخدام
بمجرد دمج ملف الهجرة مرة واحدة، لا يُسمح بتعديله مرة أخرى، يجب على المطورين إنشاء عملية جديدة للتعديل أو الحذف في حالة وجود مشكلة.
قاعدة بيانات ملفات العمليات الخاصة بإنشاء الجداول
{الوقت(يتم إنشاؤه تلقائيًا)}_create_{اسم الجدول بالإنجليزية في حالة صغيرة}
قاعدة بيانات ملفات العمليات الخاصة بتعديل الجداول
{الوقت(يتم إنشاؤه تلقائيًا)}_modify_{اسم الجدول بالإنجليزية في حالة صغيرة + اسم العنصر المحدد للتعديل بالإنجليزية في حالة صغيرة}
قاعدة بيانات ملفات العمليات الخاصة بحذف الجداول
{الوقت(يتم إنشاؤه تلقائيًا)}_delete_{اسم الجدول بالإنجليزية في حالة صغيرة + اسم العنصر المحدد للحذف بالإنجليزية في حالة صغيرة}
قاعدة بيانات ملفات البيانات الخاصة بملء
{الوقت(يتم إنشاؤه تلقائيًا)}_fill_{اسم الجدول بالإنجليزية في حالة صغيرة + اسم العنصر المحدد للتعديل بالإنجليزية في حالة صغيرة}