تعتبر ترحيل قاعدة البيانات جزءًا أساسيًا من تطوير التطبيق ، حيث تسمح للمطورين بالتحكم في الإصدار وإدارة التغييرات في مخطط قاعدة البيانات بطريقة متسقة ومنظمة. في PHP ، يمكن إجراء إدارة ترحيل قاعدة البيانات يدويًا ، ولكنها أكثر كفاءة وأقل عرضة للخطأ لاستخدام أداة ترحيل تعمل على أتمتة العملية. توفر أداة الترحيل طريقة منظمة للتعامل مع تغييرات المخطط ، مع الحفاظ على قاعدة البيانات متزامنة مع رمز التطبيق.
في هذه المقالة ، سنستكشف كيفية إدارة ترحيل قاعدة البيانات في PHP ، بما في ذلك استخدام المكتبات الشائعة وأفضل الممارسات والأمثلة العملية.
ترحيل قاعدة البيانات هي وسيلة لإصدار التغييرات على مخطط قاعدة البيانات (على سبيل المثال ، إنشاء أو تحديث أو حذف الجداول والأعمدة) وتطبيق تلك التغييرات بطريقة يتم التحكم فيها. تتيح الترحيل الفرق:
هناك عدة طرق للتعامل مع ترحيل قاعدة البيانات في PHP ، ولكن النهج الأكثر شيوعًا هو استخدام مكتبة الترحيل. إليك كيفية القيام بذلك باستخدام مكتبات PHP الشهيرة مثل Phinx و ترحيل العقيدة .
Phinx هي أداة ترحيل PHP شهيرة تتيح لك إنشاء ترحيل قاعدة البيانات وتشغيلها. وهو يدعم منصات قاعدة بيانات متعددة مثل MySQL و PostgreSQL و SQLite وغيرها.
لتثبيت Phinx ، يمكنك استخدام الملحن لإضافته كاعتماد.
composer require robmorgan/phinx
Phinx ملف تكوين (phinx.php أو phinx.yml) لإدارة إعدادات الاتصال وخيارات التكوين الأخرى. إليك تكوين مثال في phinx.php:
[ 'migrations' => 'db/migrations', 'seeds' => 'db/seeds' ], 'environments' => [ 'default' => 'development', 'development' => [ 'adapter' => 'mysql', 'host' => 'localhost', 'name' => 'your_database_name', 'user' => 'root', 'pass' => '', 'charset' => 'utf8', ], 'production' => [ 'adapter' => 'mysql', 'host' => 'production_host', 'name' => 'your_production_database', 'user' => 'prod_user', 'pass' => 'prod_password', 'charset' => 'utf8', ] ] ];
يقوم هذا التكوين بإعداد بيئتين (التطوير والإنتاج) ، حيث ستقوم PHINX بإدارة الترحيل لقواعد البيانات الخاصة بك.
لإنشاء ترحيل ، يمكنك استخدام أمر phinx التالي:
php vendor/bin/phinx create CreateUsersTable
يقوم هذا الأمر بإنشاء ملف ترحيل في دليل DB/Migrations. سيبدو ملف الترحيل شيئًا كهذا:
table('users'); $table->addColumn('name', 'string') ->addColumn('email', 'string') ->create(); } }
تنشئ هذه الترحيل جدول المستخدمين مع عمودين: الاسم والبريد الإلكتروني.
بمجرد إنشاء الترحيل ، يمكنك تطبيق الترحيل على قاعدة البيانات باستخدام الأمر التالي:
php vendor/bin/phinx migrate
ستطبق Phinx أي ترحيل جديدة لم يتم تشغيلها بعد. يمكنك أيضًا تحديد بيئة محددة:
php vendor/bin/phinx migrate -e production
إذا كنت بحاجة إلى التراجع عن الترحيل (على سبيل المثال ، عندما ترغب في تراجع تغيير) ، يوفر Phinx الأمر التالي:
php vendor/bin/phinx rollback
يمكنك أيضًا التراجع إلى إصدار أو خطوة محددة ، إذا لزم الأمر:
php vendor/bin/phinx rollback -t 20210101000000
يقوم هذا الأمر بإعادة الترحيل إلى الإصدار المحدد.
تعتبر ترحيل العقيدة أداة شائعة أخرى لترحيل قاعدة البيانات ، خاصةً للمشاريع التي تستخدم بالفعل ORM العقيدة لتفاعلات قاعدة البيانات. يتكامل مباشرة مع العقيدة ويوفر مجموعة من الأوامر لإدارة الترحيل.
composer require doctrine/migrations
تحتاج إلى إعداد ملف تكوين (migrations.php) لتحديد اتصال قاعدة البيانات ومسارات الترحيل.
مثال Migrations.php التكوين:
'mysql://root:@localhost/your_database_name', ]); // Set up the migrations configuration $config = new Configuration($conn); $config->setMigrationsNamespace('App\Migrations'); $config->setMigrationsDirectory('db/migrations'); // Create the migration tool $console = ConsoleRunner::createApplication($config); $console->run();
يمكنك إنشاء ترحيل باستخدام العقيدة CLI:
php vendor/bin/doctrine-migrations generate
هذا ينشئ ملف ترحيل في دليل DB/Migrations.
لتشغيل الترحيل ، استخدم:
php vendor/bin/doctrine-migrations migrate
سيطبق هذا الأمر جميع الترحيل المعلقة على قاعدة البيانات.
لترحيل الترحيل ، استخدم:
php vendor/bin/doctrine-migrations execute --down
يمكنك تحديد إصدار الترحيل الذي يجب التراجع عنه ، إذا لزم الأمر.
Phinx أو يوفر ترحيل العقيدة طريقة منظمة وآلية لإدارة تغييرات مخطط قاعدة البيانات. تساعدك هذه الأدوات على تجنب الأخطاء اليدوية ، والحفاظ على الاتساق عبر البيئات ، والتأكد من أن مخطط قاعدة البيانات الخاص بك يتطور بطريقة يتم التحكم فيها والنسخة.
باستخدام هذه الأدوات ، يمكنك التركيز على إنشاء منطق التطبيق ، مع التأكد من أن قاعدة البيانات الخاصة بك تتزامن دائمًا مع التغييرات في الكود الخاص بك.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3