Mah*_*arg 6 python django amazon-web-services amazon-elastic-beanstalk eb
我有一个场景,我需要动态创建一个表,为了动态创建表,我编写了代码来创建一个带有我要创建的表内容的model.py文件.
一旦创建了这个文件,我就想从代码本身执行makemigrations命令
from django.core.management import call_command
call_command('makemigrations')
call_command('migrate')
Run Code Online (Sandbox Code Playgroud)
它在我的本地以及AWS EC2实例中运行良好,但它不适用于Elastic Beanstalk(eb).当我试图从eb ssh手动运行makemigrations命令时,它会给我以下错误.
PermissionError: [Errno 13] Permission denied: '/opt/python/bundle/47/app/quotations/migrations/0036_dynamic_table.py'
Run Code Online (Sandbox Code Playgroud)
任何人都知道如何处理这种情况.
另一件事是,当我正在创建新的动态模型时,我如何将该代码推送到git,因为在新的部署EBS将现有代码替换为新代码,因此这样我将丢失我创建的文件在EBS中使用这些命令
谢谢
我同意埃迪的观点,您需要修改迁移文件夹的权限。
迁移文件夹位于:
/opt/python/current/app/quotations/migrations/
你可能需要做类似的事情:
subprocess.call(['chmod', '-R', '+w', '/opt/python/current/app/quotations/migrations/'])
Run Code Online (Sandbox Code Playgroud)
您可能在 makemigrations 调用之前和/或之后需要它。
如果您还有其他问题,请发表评论。
| 归档时间: |
|
| 查看次数: |
189 次 |
| 最近记录: |