我想创建一个脚本(.sh或python,不重要),它可以执行以下操作:
heroku pg:reset DATABASE_URL
heroku run python manage.py migrate
heroku run python manage.py shell
> from myapp.scenarios import *; reset_demo_data(); exit()
第1行到第3行是UNIX命令,但是第4行是python,要在打开的Django shell中执行。
我尝试用|
和>
“注入”命令中的python代码,但是没有任何效果。我想这很容易,但我不知道怎么做..。
谢谢。
发布于 2014-11-05 05:05:42
或者您可以尝试以下一行解决方案:
echo "from myapp.scenarios import *; reset_demo_data(); exit()" | python manage.py shell
您可以添加此行以替换Shell激活行。
发布于 2014-11-05 05:04:25
我想最好的选择是编写一个自定义管理命令。
然后,您的脚本可能看起来如下:
heroku pg:reset DATABASE_URL
heroku run python manage.py migrate
heroku run python manage.py shell
heroku run python manage.py reset_demo
当管理命令类似于:
from django.core.management.base import BaseCommand
from myapp.scenarios import *
class Command(BaseCommand):
def handle(self, *args, **options):
reset_demo_data()
https://stackoverflow.com/questions/26757630
复制