Flask MVC (Unit-4) Alembic Configuration
Yazı dizimizin bir önceki bölümünde, projemizin ana dosyasından ve modüllerin birbirleri ile bağlantısını blueprint ile bu ana proje dosyası üzerinden yaptığımızdan bahsetmiştik. Aşağıdaki kod satırlarımızda projemize devam ediyoruz, bununla birlikte size Alembic Configuration nedir onu da anlatmak isterim.
Alembic bir konfigürasyonu temsil eder. Bir Config nesnesiyle, Alembic komutlarını alembic’teki yönergeleri kullanarak programlı olarak çalıştırabilirsiniz. Programlı yapılandırmayı kullanırken, kullanılan env.py dosyasının hedef yapılandırmayla uyumlu olduğundan emin olun; Python günlüğe kaydetme çağrısı da dahil.
Alembic Configuration ayarlarının yapılması:
#config.py import os ENV = os.getenv('ENVIRONMENT', 'Local') basedir = os.path.abspath(os.path.dirname(__file__)) class DefaultConfig(object): def __init__(self): self.DEBUG = True pth = 'sqlite:///'+os.path.join(basedir,'data.db') self.SQLALCHEMY_DATABASE_URI = pth self.DATABASE_CONNECT_OPTIONS = {} self.SQLALCHEMY_TRACK_MODIFICATIONS = False self.SECRET_KEY = "bks" self.SERVER_NAME = "localhost:800" class ProductionConfig(DefaultConfig): def __init__(self): super(ProductionConfig, self).__init__() self.DEBUG = True pth = os.environ['DATABASE_URL'] self.SQLALCHEMY_DATABASE_URI = pth self.SERVER_NAME = "localhost:800" configuration = DefaultConfig() if ENV == "Production": configuration = ProductionConfig()
Config.py dosyasında veri tabanı ayarlarını, server ayarlarını vs.. bir çok configurasyon ayarlıyoruz. Yukarda sql lite veri tabanını kullanacağımız ve bu veritabanın nerede olacağı gibi bilgileri belirledik. Configurasyon dosyasını SQLAlchemy üzerinden işleten araç ise alembic aracıdır.
Geri bildirim: Flask MVC (Unit-5) HTML Render - Bilişim Profesyonelleri