<p><strong>注意</strong>:我不回答问题,但提供了不同的解决方案</p>
<p>我也有同样的问题。。所以我做了这样的自定义.py脚本:</p>
<p>我创建了一个名为dump的文件_数据库(放在旁边工厂文件.py例如,在远程计算机上)</p>
<pre><code>import os
import sys
from datetime import datetime
from django.conf import settings
def dump_mysql():
os.environ.setdefault("DJANGO_SETTINGS_MODULE", SETTINGS_MODULE)
DB_NAME = settings.DATABASES['default']['NAME']
DB_USER = settings.DATABASES['default']['USER']
DB_PASSWORD = settings.DATABASES['default']['PASSWORD']
dump_file_name = '{time}_{db_name}.sql'.format(
time=datetime.now().strftime('%Y_%m_%d'),
db_name=DB_NAME,
)
os.system('mysqldump -u {db_user} -p{db_password} {db_name} > {to_file}'.format(
db_user=DB_USER,
db_password=DB_PASSWORD,
db_name=DB_NAME,
to_file=dump_file_name,
))
return dump_file_name
if __name__ == '__main__':
try:
SETTINGS_MODULE = sys.argv[1:].pop()
except IndexError:
SETTINGS_MODULE = 'project_name.settings'
print dump_mysql()
</code></pre>
<p>如你所见系统argv[1:].pop()尝试使用可选参数(本例中为设置模块)。在</p>
<p>所以在我的fabfile中:
导入操作系统</p>
^{pr2}$
<p>在哪里环境='项目_名称.设置.<em>环境模块</em>'</p>
<p>这就是我如何转储我的数据库,并复制回我。在</p>
<p>希望它对某人有用!:)</p>