Пирамида, эквивалентная команде syncdb в Django?

Я заметил в Pyramid + SQLAlchemy + URL Dispatch Wiki Tutorial , что база данных инициализируется в основной функции, когда приложение выполняется.

def main(global_config, **settings):
    """ This function returns a WSGI application.
    """
    engine = engine_from_config(settings, 'sqlalchemy.')
    initialize_sql(engine)
    # -- and so on ---

где initialize_sql определяется следующим образом:

def initialize_sql(engine):
    DBSession.configure(bind=engine)
    Base.metadata.bind = engine
    Base.metadata.create_all(engine)
    try:
        session = DBSession()
        page = Page('FrontPage', 'initial data')
        session.add(page)
        transaction.commit()
    except IntegrityError:
        # already created
        pass

, который по существу создает все таблицы (если они не существуют) и заполняет их некоторыми начальными значениями. Достаточно легко понять, НО ...

Это просто учебное пособие для демонстрации небольшого приложения, поэтому то, как это обычно делается в производственной среде, может отличаться (или нет ...). Это подводит меня к моему вопросу:

При использовании Pyramid с SQLAlchemy, является ли это типичным шаблоном в производственной среде для инициализации базы данных таким образом или типичным является использование чего-то эквивалентного команде manage syncdb в Django, которая вызывается вручную?

7
задан kes 19 July 2011 в 21:35
поделиться