Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

पहले से मौजूद डेटाबेस के आसपास फ्लास्क एप्लिकेशन कैसे बनाएं?

मैं कहूंगा कि आपके प्रश्न का फ्लास्क से कोई लेना-देना नहीं है। उदाहरण के लिए, आपको टेम्प्लेट, रूट, व्यू या लॉगऑन डेकोरेटर से कोई समस्या नहीं है।

जहां आप संघर्ष करते हैं वह SQLAlchemy पर है।

तो मेरा सुझाव है कि फ्लास्क को कुछ समय के लिए अनदेखा करें और पहले SQLAlchemy की आदत डालें। आपको अपने मौजूदा डेटाबेस की आदत डालनी होगी और इसे SQLAlchemy से कैसे एक्सेस करना है। इसके आसपास अपना रास्ता खोजने के लिए कुछ MySQL दस्तावेज़ीकरण टूल का उपयोग करें। कुछ इस तरह से शुरुआत करें (ध्यान दें कि इसका फ्लास्क से कोई लेना-देना नहीं है ... अभी तक):

#!/usr/bin/python
# -*- mode: python -*-

from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base

engine = create_engine('sqlite:///webmgmt.db', convert_unicode=True, echo=False)
Base = declarative_base()
Base.metadata.reflect(engine)


from sqlalchemy.orm import relationship, backref

class Users(Base):
    __table__ = Base.metadata.tables['users']


if __name__ == '__main__':
    from sqlalchemy.orm import scoped_session, sessionmaker, Query
    db_session = scoped_session(sessionmaker(bind=engine))
    for item in db_session.query(Users.id, Users.name):
        print item

लाइन में "engine = "आपको अपने MySQL डेटाबेस को अपना पथ प्रदान करने की आवश्यकता है, ताकि SQLAlchemy इसे ढूंढ सके। मेरे मामले में मैंने पहले से मौजूद sqlite3 डेटाबेस का उपयोग किया था।

पंक्ति में "class Users(Base) "आपको अपने MySQL डेटाबेस में मौजूदा तालिकाओं में से एक का उपयोग करने की आवश्यकता है। मुझे पता था कि मेरे sqlite3 डेटाबेस में "उपयोगकर्ता" नाम की एक तालिका थी।

इस बिंदु के बाद, SQLalchemy जानता है कि आपके MySQL डेटाबेस से कैसे जुड़ना है और यह तालिकाओं में से एक के बारे में जानता है। अब आपको उन सभी अन्य तालिकाओं को जोड़ने की आवश्यकता है जिनकी आप परवाह करते हैं। अंत में, आपको SQLalchemy से संबंध निर्दिष्ट करने की आवश्यकता है। यहाँ मेरा मतलब है एक-से-एक, एक-से-अनेक, अनेक-से-अनेक, माता-पिता-बच्चे इत्यादि। SQLAlchemy वेब साइट में इसके बारे में काफी लंबा खंड है।

लाइन के बाद "if __name__ == '__main__' "बस कुछ परीक्षण कोड आता है। इसे निष्पादित किया जाएगा यदि मैं अपनी पायथन लिपि आयात नहीं करता, लेकिन चलाता हूं। यहां आप देखते हैं कि मैं एक डीबी सत्र बना रहा हूं और यह एक बहुत ही सरल क्वेरी के लिए है।

मेरा सुझाव है कि आप पहले SQLAlchemy के दस्तावेज़ीकरण के महत्वपूर्ण भागों के बारे में पढ़ें, उदाहरण के लिए वर्णनात्मक तालिका परिभाषा, संबंध मॉडल और क्वेरी कैसे करें। एक बार जब आप यह जान लेते हैं, तो आप मेरे उदाहरण के अंतिम भाग को नियंत्रक में बदल सकते हैं (उदाहरण के लिए पायथन के yield का उपयोग करना विधि) और एक दृश्य लिखें जो उस नियंत्रक का उपयोग करता है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. गलत स्ट्रिंग मान:'\xF0\x9F\x8E\xB6\xF0\x9F...' MySQL

  2. PHP और MySQL पेजिनेशन

  3. PHP का उपयोग कर सर्वर पर छवि अपलोड करते समय अन्य जानकारी के साथ डेटाबेस में फ़ाइल नाम कैसे स्टोर करें?

  4. WHERE क्लॉज में mysql SUM () का उपयोग करें

  5. MySQL को UTF-8 को ठीक से कैसे हैंडल करें