python下使用alembic管理MYSQL数据库

来源:互联网 发布:小影怎么添加网络音乐 编辑:程序博客网 时间:2024/06/07 01:45

本文介绍一下,alembic管理mysql的使用方法,首先需要安装一下模块,这里以ubutun为例进行阐述:

1.首先安装setuptools,建议下载源码包安装,比较方便,地址为https://pypi.python.org/pypi/setuptools/,解压后进入文件目录执行python setup.py install即可

2.然后安装pip,建议下载源码包安装,比较方便,地址为https://pypi.python.org/pypi/pip/,解压后进入文件目录执行python setup.py install即可

3.然后安装alembic,执行pip install alembic

4.然后安装数据库apt-get install mysql-server mysql-client,以及apt-get install python-mysqldb


这些安装完成后,在一个目录中会执行alembic init myproject,其中myproject是alembic工程的名字

和myproject同一级目录会有一个alembic.ini ,打开alembic.ini更改slalchemy.url=mysql://usr:password@localhost/mydatabase


我们需要在这个文件里面写入我们需要创建的table名和表里面字段的名称,如下:

def upgrade():    op.create_table(        'account',        sa.Column('id', sa.Integer, primary_key=True),        sa.Column('name', sa.String(50), nullable=False),        sa.Column('description', sa.Unicode(200)),    )def downgrade():    pass

然后在alembic.ini目录下执行alembic revision -m 'init table',alembic就会在myproject里面的version文件夹中生成一个*.py文件

然后我们执行alembic upgrade head,alembic就会在我们的数据库里面创建一张表account,里面有三个字段id,name,description

如果我们想增加一个新的字段,我们只需要在alembic.ini目录下执行alembic revision -m ‘add new date’

然后在myproject里面的version文件夹中会生成一个脚本,名字叫xxxxadd_new_date.py,我们在这里加入我们新添的字段,如下:

def upgrade():    op.add_column('account', sa.Column('last_transaction_date', sa.DateTime))def downgrade():    pass
然后我们回到alembic.ini目录下,执行alembic upgrade head,alembic就会把新字段last_transation_date加入到account表中


原创粉丝点击