【发布时间】:2022-12-23 02:17:15
【问题描述】:
我花了一些时间来了解 Alemic,了解如何在没有任何设置的情况下手动运行迁移。由于我们需要的某些原因,我们需要能够在没有 init、ini 文件或执行上下文的情况下手动执行操作。
【问题讨论】:
标签: python sql python-3.x sqlalchemy alembic
我花了一些时间来了解 Alemic,了解如何在没有任何设置的情况下手动运行迁移。由于我们需要的某些原因,我们需要能够在没有 init、ini 文件或执行上下文的情况下手动执行操作。
【问题讨论】:
标签: python sql python-3.x sqlalchemy alembic
这是我的结果:
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 操作而不需要周围的所有东西。
【讨论】: