Php में डेटाबेस माइग्रेशन का प्रबंधन कैसे करें
] PHP में, डेटाबेस माइग्रेशन का प्रबंधन मैन्युअल रूप से किया जा सकता है, लेकिन यह एक माइग्रेशन टूल का उपयोग करने के लिए अधिक कुशल और कम त्रुटि-प्रवण है जो प्रक्रिया को स्वचालित करता है। एक माइग्रेशन टूल स्कीमा परिवर्तनों को संभालने के लिए एक संगठित तरीका प्रदान करता है, डेटाबेस को एप्लिकेशन के कोड के साथ सिंक में रखता है।
]
1। डेटाबेस माइग्रेशन क्या हैं?
] माइग्रेशन टीमों को अनुमति देते हैं:
]
]
]
-
२। पलायन क्यों महत्वपूर्ण हैं?
-
]
]
-
]
]
३। Php में माइग्रेशन का प्रबंधन कैसे करें
PHP में डेटाबेस माइग्रेशन को संभालने के कई तरीके हैं, लेकिन सबसे आम दृष्टिकोण एक माइग्रेशन लाइब्रेरी का उपयोग कर रहा है। यहाँ यह है कि इसे लोकप्रिय PHP पुस्तकालयों जैसे
phinx
और - सिद्धांत माइग्रेट का उपयोग करके किया गया है।
-
४। डेटाबेस माइग्रेशन के लिए Phinx का उपयोग करना
- Phinx एक लोकप्रिय PHP माइग्रेशन टूल है जो आपको डेटाबेस माइग्रेशन बनाने और चलाने की अनुमति देता है। यह MySQL, PostgreSQL, SQLite, और अन्य जैसे कई डेटाबेस प्लेटफार्मों का समर्थन करता है।
चरण 1: संगीतकार के माध्यम से phinx स्थापित करें -
phinx स्थापित करने के लिए, आप इसे एक निर्भरता के रूप में जोड़ने के लिए संगीतकार का उपयोग कर सकते हैं।
संगीतकार को Robmorgan/phinx की आवश्यकता है
चरण 2: कॉन्फ़िगरेशन फ़ाइल
] यहाँ phinx.php में एक उदाहरण कॉन्फ़िगरेशन है:
php
वापस करना [
'पथ' => [[
'माइग्रेशन' => 'डीबी/माइग्रेशन',
'बीज' => 'डीबी/बीज'
],
'वातावरण' => [[
'डिफ़ॉल्ट' => 'विकास',
'विकास' => [
'एडाप्टर' => 'mysql',
'होस्ट' => 'लोकलहोस्ट',
'नाम' => 'your_database_name',
'उपयोगकर्ता' => 'रूट',
'पास' => '',
'चारसेट' => 'utf8',
],
'उत्पादन' => [[
'एडाप्टर' => 'mysql',
'होस्ट' => 'प्रोडक्शन_हॉस्ट',
'नाम' => 'your_production_database',
'उपयोगकर्ता' => 'prod_user',
'पास' => 'prod_password',
'चारसेट' => 'utf8',
]
]
];
]
चरण 3: एक माइग्रेशन बनाना
एक माइग्रेशन बनाने के लिए, आप निम्नलिखित Phinx कमांड का उपयोग कर सकते हैं:
]
] माइग्रेशन फ़ाइल कुछ इस तरह दिखेगी:
php
Phinx \ माइग्रेशन \ AbstractMigration का उपयोग करें;
क्लास CreateSerstable AbstractMigration का विस्तार करता है
{
सार्वजनिक कार्य परिवर्तन ()
{
$ तालिका = $ यह-> तालिका ('उपयोगकर्ता');
$ तालिका-> addColumn ('नाम', 'स्ट्रिंग')
-> addColumn ('ईमेल', 'स्ट्रिंग')
-> create ();
}
}
यह माइग्रेशन दो कॉलम के साथ एक उपयोगकर्ता तालिका बनाता है: नाम और ईमेल।
]
]
composer require robmorgan/phinx
php विक्रेता/बिन/phinx माइग्रेट
Phinx किसी भी नए माइग्रेशन को लागू करेगा जो अभी तक नहीं चलाया गया है। आप एक विशिष्ट वातावरण भी निर्दिष्ट कर सकते हैं:
]
]
]
composer require robmorgan/phinx
php विक्रेता/बिन/phinx रोलबैक
]
यह कमांड निर्दिष्ट संस्करण तक माइग्रेशन को वापस ले जाता है।
५। डेटाबेस माइग्रेशन के लिए सिद्धांत माइग्रेशन का उपयोग करना
php vendor/bin/phinx create CreateUsersTable
]
संगीतकार को सिद्धांत/पलायन की आवश्यकता है
table('users');
$table->addColumn('name', 'string')
->addColumn('email', 'string')
->create();
}
}
]
]
उदाहरण माइग्रेशन।
php
Doctrine \ dbal \ ड्राइवरमैनगर का उपयोग करें;
Doctrine \ Migrations \ कॉन्फ़िगरेशन \ कॉन्फ़िगरेशन का उपयोग करें;
Doctrine \ Migrations \ Tools \ Console \ कमांड का उपयोग करें;
Doctrine \ Migrations \ Tools \ Console \ Consolerunner का उपयोग करें;
// डेटाबेस कनेक्शन सेट करें
$ CONN = DRIVERMANAGER :: getConnection ([[
'url' => 'mysql: // root:@localhost/your_database_name',
]);
// माइग्रेशन कॉन्फ़िगरेशन सेट करें
$ config = नया कॉन्फ़िगरेशन ($ कॉन);
$ config-> setMigrationsnamespace ('app \ migrations');
$ config-> setMigrationsDirectory ('db/migrations');
// माइग्रेशन टूल बनाएं
$ कंसोल = कंसोलरनर :: createApplication ($ config);
$ कंसोल-> रन ();
चरण 3: एक माइग्रेशन बनाना
php vendor/bin/phinx migrate
]
यह db/माइग्रेशन निर्देशिका में एक माइग्रेशन फ़ाइल बनाता है।
composer require robmorgan/phinx
]
माइग्रेशन चलाने के लिए, उपयोग करें:
]
यह कमांड डेटाबेस में सभी लंबित माइग्रेशन लागू करेगा।
php vendor/bin/phinx rollback
एक माइग्रेशन को रोल करने के लिए, उपयोग करें:
]
php vendor/bin/phinx rollback -t 20210101000000
6। PHP
में माइग्रेशन के प्रबंधन के लिए सर्वोत्तम अभ्यास
] यह सुनिश्चित करता है कि आपकी टीम एक ही डेटाबेस परिवर्तनों को ट्रैक और लागू कर सकती है।
] स्कीमा परिवर्तन करने के लिए माइग्रेशन का उपयोग करें, इसलिए उन्हें संस्करण दिया जाता है और ट्रैक किया जा सकता है।
]
]
] इसके बजाय, वृद्धिशील परिवर्तन करें, क्योंकि इससे डिबग और समझना आसान हो जाता है।
composer require doctrine/migrations
]। निष्कर्ष
डेटाबेस माइग्रेशन का प्रबंधन किसी भी PHP अनुप्रयोग विकास प्रक्रिया का एक अनिवार्य हिस्सा है।
phinx
या
डॉक्ट्रिन माइग्रेशन जैसे माइग्रेशन टूल का उपयोग करना
डेटाबेस स्कीमा परिवर्तनों को प्रबंधित करने के लिए एक संरचित और स्वचालित तरीका प्रदान करता है। ये उपकरण आपको मैनुअल त्रुटियों से बचने में मदद करते हैं, वातावरण में स्थिरता बनाए रखते हैं, और यह सुनिश्चित करते हैं कि आपका डेटाबेस स्कीमा नियंत्रित और संस्करण में विकसित होता है।
'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();