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

फ्लास्क SQLAlchemy के साथ SQLite से MySQL में स्विच करना

आपके द्वारा बताया गया ट्यूटोरियल SQLAlchemy का उपयोग करके MySQL से कनेक्ट करने का सही तरीका दिखाता है। बहुत कम परिवर्तनों के साथ आपका कोड नीचे दिया गया है:

मेरी धारणा है कि आपका MySQL सर्वर उसी मशीन पर चल रहा है जहां फ्लास्क चल रहा है और डेटाबेस का नाम db_name है। यदि आपका सर्वर समान मशीन नहीं है, तो सर्वर आईपी को localhost . के स्थान पर रखें ।

from flask import Flask
from flask.ext.sqlalchemy import SQLAlchemy

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://username:[email protected]/db_name'
db = SQLAlchemy(app)


class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(80), unique=True)
    email = db.Column(db.String(120), unique=True)

    def __init__(self, username, email):
        self.username = username
        self.email = email

    def __repr__(self):
        return '<User %r>' % self.username

admin = User('admin', '[email protected]')

db.create_all() # In case user table doesn't exists already. Else remove it.    

db.session.add(admin)

db.session.commit() # This is needed to write the changes to database

User.query.all()

User.query.filter_by(username='admin').first()

मेरे साथ ऐसा हुआ कि SQLAlchemy . द्वारा उपयोग किया जाने वाला डिफ़ॉल्ट ड्राइवर (mqsqldb ), मेरे आभासी वातावरण में मेरे लिए संकलित नहीं होता है। इसलिए मैंने पूर्ण पायथन कार्यान्वयन के साथ एक MySQL ड्राइवर चुना है pymysql . एक बार जब आप इसे pip install pymysql . का उपयोग करके इंस्टॉल कर लेते हैं , SQLALCHEMY_DATABASE_URI में बदल जाएगा:

app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://username:[email protected]/db_name'

SQLAlchemy जैसे ORM का उपयोग करने का उद्देश्य यह है कि, आप अधिकांश मामलों में बहुत कम या बिना किसी बदलाव के विभिन्न डेटाबेस का उपयोग कर सकते हैं। तो, मेरा जवाब हां है। आपको उपरोक्त कोड के अनुसार यूआरआई मैप के साथ MySQL के साथ काम करने के लिए अपने sqlite कोड का उपयोग करने में सक्षम होना चाहिए।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. तालिका खाली होने पर INSERT निष्पादित करें?

  2. MySQL REGEXP में गैर-कैप्चरिंग समूहों का उपयोग करना

  3. php MYSQL डेटाबेस में कई पंक्तियों को सम्मिलित करें

  4. MySQL फायर ट्रिगर इन्सर्ट और अपडेट दोनों के लिए

  5. InnoDB के साथ पूर्ण पाठ खोज