[PYTHON] Connectez-vous à plusieurs bases de données avec SQL Alchemy

Paramètres des informations de base de données

config.py


class SystemConfig:

    SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://{user}:{password}@{host}/{db_name}?charset=utf8'.format(**{
        'user': 'sample_user',
        'password': 'passwd',
        'host': 'host',
        'db_name': 'sample_db_1'
    })
    
    SQLALCHEMY_BINDS = {"second_sample_db": SECOND_SAMPLE_DATABASE}

    SECOND_SAMPLE_DATABASE = 'mysql+pymysql://{user}:{password}@{host}/{db_name}?charset=utf8'.format(**{
        'user': 'sample_user',
        'password': 'passwd',
        'host': 'host',
        'db_name': 'sample_db_2'
    })

Config = SystemConfig

Paramètres de fichier au démarrage

database.py


from flask_sqlalchemy import SQLAlchemy

db = SQLAlchemy()

def init_db(app):
  db.init_app(app)

__init__.py


import config

from flask import Flask
from api.database import db


def create_app():

    app = Flask(__name__)

    # config.Charger py
    app.config.from_object('config.Config')
    db.init_app(app)

    return app

app = create_app()

app.py


from api import app

if __name__ == '__main__':
  app.run()

Modèle DB

model.py


from database import db

class SecondSample(db.Model):
    __bind_key__ = 'second_sample_db' #config.Ce qui a été mis avec py
    __tablename__ = 'second_sample_table'
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String)
    date = db.Column(db.DATETIME)

    def __init__(self, id, name, date):
        self.id = id
        self.name = name
        self.date = date

Référence: Je souhaite me connecter à plusieurs bases de données avec flask_sqlalchemy

Recommended Posts

Connectez-vous à plusieurs bases de données avec SQL Alchemy
Comment utiliser SQLAlchemy / Connect avec aiomysql
Connectez-vous à BigQuery avec Python
Connectez-vous à Wikipedia avec Python
Connectez-vous à Postgresql avec GO
Introduction à RDB avec sqlalchemy Ⅰ
Comment mettre à jour avec SQLAlchemy?
Comment modifier avec SQLAlchemy?
Comment supprimer avec SQLAlchemy?
Introduction à RDB avec sqlalchemy II
Connectez-vous à Bitcoin Testnet avec Pycoin
Connectez-vous à Elastic MQ avec boto
Comment INNER JOIN avec SQL Alchemy
Connectez-vous à MySQL à l'aide de Flask SQL Alchemy
Comment titrer plusieurs figures avec matplotlib
Comment obtenir l'identifiant du parent avec sqlalchemy
Connectez-vous à MySQL avec Python dans Docker
Connectez-vous à GNU / Linux avec un bureau distant
Connectez-vous à s3 avec AWS Lambda Python
Connectez-vous à Pepper avec l'interpréteur Python de PEPPER Mac
J'obtiens un UnicodeDecodeError en essayant de me connecter à oracle avec python sqlalchemy
Connectez-vous à mysql
Je souhaite afficher plusieurs images avec matplotlib.
[Python] Comment dessiner plusieurs graphiques avec Matplotlib
Connectez-vous facilement à AWS avec plusieurs comptes
Connectez facilement Xillybus et la logique utilisateur avec cReComp
[Python] Mention à plusieurs personnes avec l'API de Slack
Connectez-vous à MySQL avec Python sur Raspberry Pi
Comment renvoyer plusieurs index avec la méthode d'index
Sélection multiple avec Jupyter
Convertir 202003 en 2020-03 avec les pandas
Comment convertir un objet de classe en dictionnaire avec SQLAlchemy
Comment obtenir plus de 1000 données avec SQLAlchemy + MySQLdb
Écrire plusieurs enregistrements dans DynamoDB avec Lambda (Python, JavaScript)
Connectez python à mysql
Utiliser Enum avec SQLAlchemy
Résumé de la façon de partager l'état avec plusieurs fonctions
Comment se connecter à diverses bases de données à partir de Python (PEP 249) et SQL Alchemy
Connectez-vous à centos6 sur Virtualbox avec une connexion SSH depuis Mac
Connectez le noyau Jupyter Notebook à Spyder avec Jupytext activé
Je voulais supprimer plusieurs objets en s3 avec boto3
Connectez Raspberry Pi à Alibaba Cloud IoT Platform avec «Python»
J'ai essayé de créer un article dans Wiki.js avec SQL Alchemy
Essayez de défier le sol par récursif
Obtenez la table dynamiquement avec sqlalchemy
Analyse de régression multiple avec Keras
Utiliser DATE_FORMAT avec le filtre SQLAlchemy
Publiez sur Slack avec Python 3
Rendre avec la syntaxe facile
Connectez MySQL de Vagrant à MySQL Workbench
Pour exécuter gym_torcs avec ubutnu16
Comment lancer avec Theano
Manipulez diverses bases de données avec Python
Connectez-vous à sqlite depuis python
Basculer python vers 2.7 avec des alternatives
Écrire en csv avec Python
Comment séparer les chaînes avec ','