Flask-Migrate数据库迁移

在命令行中实现数据迁移, 工程放在F:/ERP1/server中


开始准备工作:使用命令安装Flask-Migrate包

pip install flask-migrate


第一步:进入工程目录

Microsoft Windows [版本 6.1.7601]

版权所有 (c) 2009 Microsoft Corporation。保留所有权利。


C:\Users\Administrator>F:
F:\>cd F:\ERP1\server
F:\ERP1\server>
F:\ERP1\server>dir
 F:\ERP1\server 的目录
2016/06/28  10:26    <DIR>          .
2016/06/28  10:26    <DIR>          ..
2016/06/29  16:26    <DIR>          .idea
2016/06/27  16:59    <DIR>          config
2016/06/29  16:17    <DIR>          control_center
2016/06/27  16:05    <DIR>          data_mode
2016/06/27  16:06    <DIR>          event_bus
2016/06/27  16:05             3,836 manage.py
2016/06/27  16:59    <DIR>          public
2016/06/27  16:59                46 run.bat
2016/06/27  16:59    <DIR>          user_center
2016/06/27  16:06                 0 __init__.py
               3 个文件          3,882 字节

               9 个目录 233,661,837,312 可用字节


第二步:创建迁移仓库,执行完该步骤之后,将在工程目录下产生一个名为migrations文件夹,所有迁移脚本放在这里面

F:\ERP1\server>python manage.py db init
Creating directory F:\ERP1\server\migrations ... done
Creating directory F:\ERP1\server\migrations\versions ... done
Generating F:\ERP1\server\migrations\alembic.ini ... done
Generating F:\ERP1\server\migrations\env.py ... done
Generating F:\ERP1\server\migrations\env.pyc ... done
Generating F:\ERP1\server\migrations\README ... done
Generating F:\ERP1\server\migrations\script.py.mako ... done
Please edit configuration/connection/logging settings in 'F:\\ERP1\\server\\migr
ations\\alembic.ini' before proceeding.


F:\ERP1\server>python manage.py db
usage: Perform database migrations

Perform database migrations

positional arguments:
  {upgrade,migrate,current,stamp,init,downgrade,history,revision}
    upgrade             Upgrade to a later version
    migrate             Alias for 'revision --autogenerate'
    current             Display the current revision for each database.
    stamp               'stamp' the revision table with the given revision;
                        don't run any migrations
    init                Generates a new migration
    downgrade           Revert to a previous version
    history             List changeset scripts in chronological order.
    revision            Create a new revision file.

optional arguments:
  -?, --help            show this help message and exit


第三步:创建迁移脚本

F:\ERP1\server>python manage.py db migrate
INFO  [alembic.runtime.migration] Context impl MySQLImpl.
INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
INFO  [alembic.autogenerate.compare] Detected added table 'admin_group'
INFO  [alembic.autogenerate.compare] Detected added table 'admin_url'
INFO  [alembic.autogenerate.compare] Detected added table 'organ_company'
INFO  [alembic.autogenerate.compare] Detected added table 'admin_group_url'
INFO  [alembic.autogenerate.compare] Detected added table 'admin_url_data'
INFO  [alembic.autogenerate.compare] Detected added table 'organ_department'
INFO  [alembic.autogenerate.compare] Detected added table 'admin_group_url_data_
curd'
INFO  [alembic.autogenerate.compare] Detected added table 'organ_position'
INFO  [alembic.autogenerate.compare] Detected added table 'admin_users'
INFO  [alembic.autogenerate.compare] Detected added index 'ix_admin_users_email'
 on '['email']'
INFO  [alembic.autogenerate.compare] Detected added index 'ix_admin_users_teleph
one' on '['telephone']'
INFO  [alembic.autogenerate.compare] Detected added index 'ix_admin_users_userna
me' on '['username']'
INFO  [alembic.autogenerate.compare] Detected added index 'ix_admin_users_work_n
umber' on '['work_number']'
INFO  [alembic.autogenerate.compare] Detected added table 'admin_user_group'
INFO  [alembic.autogenerate.compare] Detected added table 'admin_user_parttime_p
osition'
Generating F:\ERP1\server\migrations\versions\ab42fba096ab_.py ... done


第四步:更新数据库

F:\ERP1\server>python manage.py db upgrade
INFO  [alembic.runtime.migration] Context impl MySQLImpl.
INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
INFO  [alembic.runtime.migration] Running upgrade  -> ab42fba096ab, empty messag
e

F:\ERP1\server>python manage.py
usage: manage.py [-?]
                 {show_urls,shell,deploy,db,runserver,init_url,clean,get_table}
                 ...

positional arguments:
  {show_urls,shell,deploy,db,runserver,init_url,clean,get_table}
    show_urls           Displays all of the url matching routes for the
                        project
    shell               Runs a Python shell inside Flask application context.
    deploy              Run deployment tasks.
    db                  Perform database migrations
    runserver           Runs the Flask development server i.e. app.run()
    init_url
    clean               Remove *.pyc and *.pyo files recursively starting at
                        current directory
    get_table

optional arguments:
  -?, --help            show this help message and exit


第五步:初始化路由,这个步骤只是针对此项目而言。其他的项目不需要这个步骤的。

F:\ERP1\server>python manage.py init_url
========================================

F:\ERP1\server>



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值