2011-02-08 3 views
7

से मिलान करने के लिए डेटाबेस को बदलें मूल रूप से, मैंने डेटाबेस की एक श्रृंखला (यानी कॉलम और रिश्तों) से युक्त डेटाबेस को डिज़ाइन करने के लिए MySQL वर्कबेंच में डेटा मॉडलिंग का उपयोग किया।मॉडल

फिर डाटाबेस -> फॉरवर्ड इंजीनियर का उपयोग करके, मैंने डेटाबेस बनाया, और तालिकाओं में डेटा डाला।

अब मुझे एहसास हुआ है कि जिस मॉडल को मैंने डिजाइन किया है, उसे कुछ बदलावों की आवश्यकता है, और इसलिए मैंने कुछ कॉलम डाले गए कॉलम को बदल दिया है। मेरा सवाल है, मैं टेबल को बदलने के लिए MySQL वर्कबेंच कैसे प्राप्त करूं?

डाटाबेस का उपयोग करना -> मॉडल सिंक्रनाइज़ करें, अद्यतन स्रोत सिर्फ तालिका बनाने का एक गुच्छा उत्पन्न करता है अगर एसक्यूएल स्टेटमेंट्स नहीं है, और जैसे ही टेबल मौजूद हैं, कुछ भी नहीं बदलता है।

उत्तर

3

क्योंकि मुझे काम करने के लिए File -> Export -> Forward Engineer SQL ALTER Script नहीं मिल सका, इसलिए मैंने डेटा का बैकअप बनाया, टेबल गिरा दिया, उन्हें फिर से बनाया, और फिर डेटा आयात किया। मैं अपने मॉडल

+1

ऐसा लगता है कि यह अब उपलब्ध नहीं है –

8

में परिवर्तन से ALTER कमांड उत्पन्न करने के लिए MySQL वर्कबेंच प्राप्त करने का एक तरीका ढूंढूंगा, जो आप मॉडल मेनू डेटाबेस/सिंक्रनाइज़ मॉडल में मॉड्यूल मेनू में हैं।

0

2011 का उत्तर अब तक अद्यतित नहीं है। मैंने हाल के संस्करण में विकल्प खोजने के लिए संघर्ष किया। यहाँ नई प्रक्रिया है (काम करता है MySQLWorkbench 6.2 कम से कम के लिए):

जब आप संपादन अपने मॉडल समाप्त कर दिया है, खुले Database -> Synchronize with Any Source

कदम Select Source में आप 3 भागों

  • स्रोत है: चुनें Model Schemadata
  • गंतव्य: चुनें Live Database Server
  • अपडेट भेजें: चयन को लाइव डेटाबेस अद्यतन किया जाना चाहिए कि क्या है या अगर आप केवल करना चाहते हैं एक .sql फ़ाइल

विज़ार्ड में आगे बढ़ें करने के लिए परिवर्तन की बचत होती है, तो आप टेबल और एसक्यूएल प्रश्नों कि होगा समीक्षा कर सकते हैं सज़ा पाएं। आप कुछ तालिकाओं के अद्यतन को भी अनदेखा कर सकते हैं।