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(auto create)}_create_{तालिका का नाम अंग्रेजी में छोटे अक्षरों में}
डेटा तालिका संशोधन संचालन फ़ाइल नामकरण नियम
{time(auto create)}_modify_{तालिका का नाम अंग्रेजी में छोटे अक्षरों में + विशिष्ट संशोधन आइटम अंग्रेजी में छोटे अक्षरों में}
डेटा तालिका हटाने संचालन फ़ाइल नामकरण नियम
{time(auto create)}_delete_{तालिका का नाम अंग्रेजी में छोटे अक्षरों में + विशिष्ट संशोधन आइटम अंग्रेजी में छोटे अक्षरों में}
डेटा को भरने वाली फ़ाइल का नामकरण नियम
{time(auto create)}_fill_{तालिका का नाम अंग्रेजी में छोटे अक्षरों में + विशिष्ट संशोधन आइटम अंग्रेजी में छोटे अक्षरों में}