Django 2.1 - Database migration operations

डेटाबेस माइग्रेशन ऑपरेशन




django

डेटाबेस माइग्रेशन ऑपरेशन

ये सभी operations django.contrib.postgres.operations मॉड्यूल से उपलब्ध हैं।

माइग्रेशन का उपयोग करके विस्तार करना

आप माइग्रेशन फ़ाइल का उपयोग करके अपने डेटाबेस में एक PostgreSQL एक्सटेंशन बना सकते हैं। यह उदाहरण एकस्टोर एक्सटेंशन बनाता है, लेकिन अन्य एक्सटेंशन के लिए भी यही सिद्धांत लागू होते हैं।

पहले CreateModel या AddField ऑपरेशन जिसमें AddField ऑपरेशन के साथ माइग्रेशन जोड़कर HStoreField शामिल है, से पहले PostgreSQL में hstore एक्सटेंशन सेट करें। उदाहरण के लिए:

from django.contrib.postgres.operations import HStoreExtension

class Migration(migrations.Migration):
    ...

    operations = [
        HStoreExtension(),
        ...
    ]

एक्सटेंशन बनाने के लिए सुपरसुसर विशेषाधिकारों के साथ डेटाबेस उपयोगकर्ता की आवश्यकता होती है। यदि Django डेटाबेस उपयोगकर्ता के पास सुपरसुअर विशेषाधिकार नहीं हैं, तो आपको Django माइग्रेशन के बाहर ऐसे उपयोगकर्ता के साथ एक्सटेंशन बनाना होगा जिसके पास उपयुक्त विशेषाधिकार हैं। उस स्थिति में, अपने Django डेटाबेस से कनेक्ट करें और क्वेरी CREATE EXTENSION IF NOT EXISTS hstore;

CreateExtension

class CreateExtension(name) [source]

एक Operation उपवर्ग जो PostgreSQL एक्सटेंशन स्थापित करता है।

name

यह एक आवश्यक तर्क है। इंस्टॉल किए जाने वाले एक्सटेंशन का नाम।

BtreeGinExtension

class BtreeGinExtension [source]

btree_gin एक्सटेंशन इंस्टॉल करें।

BtreeGistExtension

class BtreeGistExtension [source]
Django 2.0 में नया:

btree_gist एक्सटेंशन इंस्टॉल करें।

CITextExtension

class CITextExtension [source]

citext एक्सटेंशन इंस्टॉल करता है।

CryptoExtension

class CryptoExtension [source]
Django 2.0 में नया:

pgcrypto एक्सटेंशन इंस्टॉल करता है।

HStoreExtension

class HStoreExtension [source]

hstore एक्सटेंशन इंस्टॉल करता है और बाद के माइग्रेशन में संभव उपयोग के लिए hstore डेटा की व्याख्या करने के लिए कनेक्शन भी सेट करता है।

TrigramExtension

class TrigramExtension [source]

pg_trgm एक्सटेंशन इंस्टॉल करता है।

UnaccentExtension

class UnaccentExtension [source]

unaccent एक्सटेंशन स्थापित करता है।