सबसे आसान जवाब है ऐसा करने की कोशिश न करना। इसके बजाय, अपने एलेम्बिक माइग्रेशन को डेटाबेस के पूर्ण लेआउट का प्रतिनिधित्व करें। फिर आपके द्वारा किया गया कोई भी माइग्रेशन मौजूदा डेटाबेस में किए गए परिवर्तनों पर आधारित होगा।
यदि आपके पास पहले से ही एक डेटाबेस है, तो एक प्रारंभिक माइग्रेशन करने के लिए, अस्थायी रूप से एक खाली डेटाबेस पर इंगित करें और alembic revision --autogenerate -m "base"
चलाएं। . फिर, वास्तविक डेटाबेस पर वापस जाएं और alembic stamp head
चलाएं यह कहना कि डेटाबेस की वर्तमान स्थिति को नवीनतम माइग्रेशन द्वारा दर्शाया जाता है, वास्तव में इसे चलाए बिना।
यदि आप किसी कारण से ऐसा नहीं करना चाहते हैं, तो आप --autogenerate
का उपयोग नहीं करना चुन सकते हैं और इसके बजाय खाली संशोधन उत्पन्न करें जिन्हें आप अपने इच्छित संचालन के साथ भरते हैं। एलेम्बिक आपको ऐसा करने से नहीं रोकेगा, यह बहुत कम सुविधाजनक है।