php - केकफपी: रिकॉर्ड डालने के लिए माइग्रेशन का उपयोग कैसे करें



sql cakephp (1)

मैं CakePHP v3.x का उपयोग कर रहा हूँ और मैं यह पता लगाने की कोशिश कर रहा हूं कि माइग्रेशन टूल के माध्यम से कुछ रिकॉर्ड कैसे सम्मिलित करें। दस्तावेज़ केवल स्कीमा को संशोधित करने के तरीकों की सूची देता है। क्या कच्चे एसक्यूएल के साथ मैन्युअल रूप से रिकॉर्ड डालने की आवश्यकता होगी?


केकपीएचपी 3 के माइग्रेशन प्लगिन एक फ़िनक्स आवरण प्लगइन है, जिससे up() विधि का उपयोग करके रिकॉर्ड जोड़ा जा सकता है: -

public function up() {
    // Save records to the newly created schema
}

public function down() {
    // Remove records
}

उदाहरण के लिए, आप एक नया उपयोगकर्ता TableRegistry का उपयोग करके up जोड़ सकते हैं: -

public function up() {
    // Save records to the newly created schema
    $UsersTable = TableRegistry::get('Users');
    $user = $UsersTable->newEntity();

    $user->name = 'Joe Bloggs';
    $user->email = '[email protected]';

    $UsersTable->save($user);
}

यदि TableRegistry का use Cake\ORM\TableRegistry; करने के लिए मत भूलना use Cake\ORM\TableRegistry; माइग्रेशन फ़ाइल के शीर्ष पर

केकडीसी के माइग्रेशन प्लगइन के लिए आप संबंधित माइग्रेशन फ़ाइल में कॉलबैक का उपयोग करके रिकॉर्ड सम्मिलित कर सकते हैं: -

public function after($direction) {
    if ($direction === 'up') {
        // Save records to the newly created schema
    } elseif ($direction === 'down') {
        // Remove records
    }
}

नोट: यदि आप पोस्टग्रेज़ ड्रायवर का उपयोग कर रहे हैं, तो वर्तमान में एक बग है जिसके लिए यह काम करने के लिए एक छोटा सा उपाय आवश्यक है।





cakephp-3.0