Flask繫結多個資料庫

2021-10-06 23:36:40 字數 1413 閱讀 6620

當你開發乙個系統時,需要有多個資料庫,但這個資料庫已經有了,建新表還得把資料導來導去得很麻煩,這時候就用到了多個資料庫得繫結了

由於資料庫密碼等資訊為敏感資訊,最好做脫敏處理

# config.py

sqlalchemy_database_uri =

'mysql://root:123456@localhost:3306/teacher'

# 預設資料庫(主資料庫)

# 需要繫結的多個資料庫

sqlalchemy_binds =

# main.py

from flask import flask

from flask_sqlalchemy import sqlalchemy

from config import sqlalchemy_database_uri, sqlalchemy_binds

'sqlalchemy_database_uri'

]= defaultconfig.sqlalchemy_database_uri

'sqlalchemy_binds'

]= defaultconfig.sqlalchemy_binds

class

teacher

(db.model)

:# 使用預設資料庫,不需要像下面指定__bind_key__

__tablename__ =

'tablename1'

# 表名

id= db.column(db.integer, primary_key=

true

) name = db.column(db.string(16)

) cardnumber = db.column(db.string(30)

)class

students

(db.model)

: __bind_key__ =

'students'

# 已設定__bind_key__ 資料庫名

__tablename__ =

'tablename2'

# 表名

id= db.column(db.integer, primary_key=

true

) name = db.column(db.string(16)

) cardnumber = db.column(db.string(30)

)

然後檢視函式中得用法和單個資料庫的相同

之前做專案的時候一直不知道flask的mvc模式怎麼寫,最終經過自己的摸索找到了方法,現已經將框架的模板上傳到了github,歡迎取食(前端採用的是nuxt)

github位址

Redis多個資料庫

注意 redis支援多個資料庫,並且每個資料庫的資料是隔離的不能共享,並且基於單機才有,如果是集群就沒有資料庫的概念。redis是乙個字典結構的儲存伺服器,而實際上乙個redis例項提供了多個用來儲存資料的字典,客戶端可以指定將資料儲存在哪個字典中。這與我們熟知的在乙個關聯式資料庫例項中可以建立多個...

Redis多個資料庫

注意 redis支援多個資料庫,並且每個資料庫的資料是隔離的不能共享,並且基於單機才有,如果是集群就沒有資料庫的概念。redis是乙個字典結構的儲存伺服器,而實際上乙個redis例項提供了多個用來儲存資料的字典,客戶端可以指定將資料儲存在哪個字典中。這與我們熟知的在乙個關聯式資料庫例項中可以建立多個...

hibernate配置多個資料庫

我的問題是 我做了乙個平台,這個平台的多個客戶要使用一台伺服器。我用的資料庫是oracle,這樣的話,我想讓hibernate 配置上多個資料庫連線,而這些資料庫是相同表名,只是庫名不同。我查了其他說法 方案一 寫兩個hibernate.cfg.xml 使用資料庫a的時候 configuration...