flask

پلتفرم Flask

(Flask Platform)

اتصال به دیتابیس‌ها

به‌ندرت پیش‌می‌آید که در برنامه‌ای از دیتابیس استفاده نشده‌باشد. اگر در برنامه Flask ای‌‌تان از دیتابیس استفاده کرده‌اید می‌توانید به‌این‌صورت به آن متصل شوید.

  • SQLite
  • برای استفاده از SQLite باید در نظر داشته باشید که فایل سیستم برنامه‌های لیارا، Read-Only است. به عبارتی، بعد از عملیات استقرار، امکان ذخیره‌سازی فایل‌های جدید در کنار فایل‌های پروژه، وجود ندارد و داده‌های پایدار را باید داخل دیسک ذخیره کنید. برای این کار، یک پوشه‌ی اختصاصی برای دیتابیس‌تان بسازید و فایل دیتابیس را داخل آن قرار بدهید و سپس آن پوشه را به عنوان دیسک تعریف کرده و دیپلوی کنید. اطلاعات بیشتر درباره‌ی دیسک‌ها

  • PostgreSQL
  • برای اتصال به دیتابیس PostgreSQL کافیست اطلاعات اتصال به آن را در بخش متغیرهای محیطی یا همان ENVs وارد کنید:

    DATABASE_URL=postgres://USER:PASSWORD@HOST:PORT/NAME

    و حالا با اضافه‌شدن این متغیر، می‌توانید آن را از داخل کدهای‌تان فراخوانی کرده و با آن به دیتابیس متصل شوید.

  • MySQL
  • برای اتصال به دیتابیس MySQL کافیست اطلاعات اتصال به آن را در بخش متغیرهای محیطی یا همان ENVs وارد کنید:

    DATABASE_URL=mysql://USER:PASSWORD@HOST:PORT/NAME

    و حالا با اضافه‌شدن این متغیر، می‌توانید آن را از داخل کدهای‌تان فراخوانی کرده و با آن به دیتابیس متصل شوید.

    البته می‌توانید برای اتصال به دیتابیس MySQL در برنامه Flask خود، از ماژول flask_mysqldb نیز استفاده کنید. برای استفاده از این ماژول در ابتدا باید آن را نصب کنید:

    pip install flask_mysqldb

    پس از نصب ماژول می‌توانید با استفاده از قطعه کد زیر، تنظیمات مربوط به دیتابیس را در برنامه، انجام دهید:

    from flask_mysqldb import MySQL
    # MySQL configuration
    app.config['MYSQL_HOST']     = os.getenv('DB_HOST', 'localhost')
    app.config['MYSQL_USER']     = os.getenv('DB_USER', 'root')
    app.config['MYSQL_PASSWORD'] = os.getenv('DB_PASSWORD', '')
    app.config['MYSQL_DB']       = os.getenv('DB_NAME', 'db')
    app.config['MYSQL_PORT']     = int(os.getenv('DB_PORT', 3306)) 
    mysql = MySQL(app)

    در برنامه فوق از متغیرهای محیطی برای مقداردهی استفاده می‌شود.

  • MongoDB
  • اگر از این پایگاه داده استفاده کرده‌اید کافیست اطلاعات اتصال به دیتابیس MongoDB را در بخش env ها وارد کنید:

    MONGO_URI="mongodb://USERNAME:PASSWORD@HOST:PORT/DB_NAME?authSource=admin"
    و سپس در برنامه به وسیله درایور و کتابخانه مدنظرتان متصل شوید (ما برای نمونه از Flask-PyMongo استفاده کرده‌ایم.)
    if(os.getenv('MONGO_URI') is None):
        return 'MONGO_URI not set!'
    mongo = PyMongo(app, uri=os.getenv('MONGO_URI'))

متوجه شدم، برو گام بعدی!
;