在命令行中实现数据迁移, 工程放在F:/ERP1/server中
开始准备工作:使用命令安装Flask-Migrate包
pip install flask-migrate
第一步:进入工程目录
Microsoft Windows [版本 6.1.7601]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。
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文件夹,所有迁移脚本放在这里面
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
第三步:创建迁移脚本
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
第四步:更新数据库
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>