أداة هجرة قاعدة البيانات 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_{اسم الجدول بالإنجليزية في حالة صغيرة + اسم العنصر المحدد للتعديل بالإنجليزية في حالة صغيرة}