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

फ्लास्क SQLAlchemy MySQL डेटाबेस कनेक्शन को बंद नहीं करता है

मुझे अंततः उपरोक्त समस्या का समाधान मिल गया।

मैंने यहां में परिभाषित घोषणात्मक मॉडल का उपयोग किया है यहां दिए गए फ्लास्क-SQLAlchemy के लिए क्विकस्टार्ट दस्तावेज़ों का पालन करने के बजाय ।

बदली गई फ़ाइलें इस प्रकार हैं:

db.py :

from sqlalchemy import create_engine
from sqlalchemy.orm import scoped_session, sessionmaker
from sqlalchemy.ext.declarative import declarative_base

engine = create_engine(DB_URI, convert_unicode=True)
db_session = scoped_session(sessionmaker(autocommit=False,
                                         autoflush=False,
                                         bind=engine))
Base = declarative_base()
Base.query = db_session.query_property()

def init_db():
    import user
    Base.metadata.create_all(bind=engine)

main.py :

from db import init_db, db_session

init_db()

@app.teardown_appcontext
def shutdown_session(exception=None):
    db_session.remove()

user.py :

from sqlalchemy import Column, Integer, String
from data_models.db import Base
class User(Base):
    id = db.Column(Integer, primary_key=True)
    username = db.Column(String(80), unique=True, nullable=False)
    email = db.Column(String(120), unique=True, nullable=False)

रिकॉर्ड के लिए क्वेरी करने के लिए हम User.query.filter_by().all() . का उपयोग कर सकते हैं या db_engine.execute()

डेटाबेस में नया डेटा लिखने के लिए, हम निम्नलिखित का उपयोग कर सकते हैं:

new_user_entry = User(username = "abc", email = "[email protected]")
db_session.add(new_user_entry)
db_session.commit()


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Django गलत डेटाबेस उपयोगकर्ता का उपयोग करने की कोशिश कर रहा है

  2. एग्रीगेशन फंक्शन के बिना ग्रुप बाय क्लॉज का कोई कारण?

  3. एकल ODBC ExecuteNonQuery (C#) में एकाधिक सम्मिलित विवरण

  4. ImportError:Ubuntu 11.04 सर्वर पर django प्रोजेक्ट में mysql.base नाम का कोई मॉड्यूल नहीं है

  5. Google मानचित्र के साथ जियोकोड सीमा से बचने के वैकल्पिक तरीके