【问题标题】:Alembic standalone, without any configuration独立的 Alembic,无需任何配置
【发布时间】:2022-12-23 02:17:15
【问题描述】:

我花了一些时间来了解 Alemic,了解如何在没有任何设置的情况下手动运行迁移。由于我们需要的某些原因,我们需要能够在没有 init、ini 文件或执行上下文的情况下手动执行操作。

【问题讨论】:

    标签: python sql python-3.x sqlalchemy alembic


    【解决方案1】:

    这是我的结果:

    import sqlalchemy
    
    from alembic.migration import MigrationContext
    from alembic.operations import Operations
    
    
    # Connection
    connection_string = 'postgres://xx:@localhost/xxdb'
    engine = sqlalchemy.create_engine(connection_string.replace('postgres://', 'postgresql://'))
    
    # Create migration context
    mc = MigrationContext.configure(engine.connect())
    
    # Creation operations object
    ops = Operations(mc)
    
    
    # Add column
    try:
        ops.add_column('record', sqlalchemy.Column('new_column', sqlalchemy.String))
    except Exception as ex:
        print(ex)
    
    # Create table
    try:
        ops.create_table('new_table', [
            sqlalchemy.Column('id', sqlalchemy.Integer, primary_key=True),
            sqlalchemy.Column('name', sqlalchemy.String)
        ])
    except Exception as ex:
        print(ex)
    

    它可以让你运行任何 alembic 操作而不需要周围的所有东西。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-31
      • 2019-12-02
      • 2016-05-14
      • 2017-03-07
      • 2014-07-31
      相关资源
      最近更新 更多