Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Beralih dari SQLite ke MySQL dengan Flask SQLAlchemy

Tutorial yang Anda tunjukkan menunjukkan cara yang benar untuk terhubung ke MySQL menggunakan SQLAlchemy. Di bawah ini adalah kode Anda dengan sedikit perubahan:

Asumsi saya adalah server MySQL Anda berjalan pada mesin yang sama tempat Flask berjalan dan nama databasenya adalah db_name. Jika server Anda bukan mesin yang sama, letakkan IP server di tempat 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()

Kebetulan pada saya bahwa driver default digunakan oleh SQLAlchemy (mqsqldb ), tidak dikompilasi untuk saya di lingkungan virtual saya. Jadi saya telah memilih driver MySQL dengan implementasi python penuh pymysql . Setelah Anda menginstalnya menggunakan pip install pymysql , SQLALCHEMY_DATABASE_URI akan berubah menjadi:

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

Tujuan menggunakan ORM seperti SQLAlchemy adalah, Anda dapat menggunakan database yang berbeda dengan sedikit atau tanpa perubahan dalam banyak kasus. Jadi, jawaban saya adalah ya. Anda seharusnya dapat menggunakan kode sqlite Anda untuk bekerja dengan MySQL dengan URI yang dipetakan seperti pada kode di atas.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hitung kemunculan sub string di kolom MySQL

  2. Gunakan Database Relasional MySQL di Fedora 13

  3. cara mengindeks ulang tabel mysql

  4. kurangi 1 dari angka berturut-turut SQL Query

  5. Bagaimana cara menghasilkan nomor kenaikan otomatis berikutnya di mysql menggunakan php?