首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Elasticbeanstalk /多个数据库的Django迁移过程

问Elasticbeanstalk /多个数据库的Django迁移过程
EN

Stack Overflow用户
提问于 2016-09-15 06:18:49
回答 1查看 757关注 0票数 1

我正在使用Django和Elasticbeanstalk开发一个小的web应用程序。我创建了一个具有两个环境(登台和生产)的EB应用程序,创建了一个RDS实例并将其分配给我的EB环境。

对于开发,我使用本地数据库,因为部署到AWS需要相当长的时间。

然而,我在迁移过程中遇到了问题。因为我每隔几分钟就在本地开发和测试一次,所以我倾向于在本地和两个环境中进行不同的迁移。

因此,一旦我将应用程序的当前版本部署到某个环境中,"manage.py migrate“大多数时候都会失败,因为表已经存在或不存在,尽管它们应该存在(因为另一个环境已经创建了这些表)。

所以我想知道当使用多个环境进行开发、登台和生产时,如何处理迁移过程,这些环境具有一些公共的和一些独占的数据库实例,这些实例可能并不总是反映相同的结构。

我是否应该从代码库和eb部署中排除迁移文件,并在每次部署后运行makemigrations & migrate?我是否应该使用.ebextensions自动运行迁移,并通过其中一个实例手动应用所有迁移?

在不同的环境中使用相同的Django应用程序和不同的数据库实例的推荐方式是什么?

EN

回答 1

Stack Overflow用户

发布于 2016-09-15 06:45:44

看起来您可能在某个时间删除了表或迁移。

当你运行makemigrations时,django会创建迁移,当你运行迁移时,它会创建在设置文件中指定的数据库。

一件事是,如果您继续创建迁移,并且不在特定的数据库中运行它,它将是绝对好的。每当您切换到数据库并运行迁移时,它都会进行处理,因为每个数据库都会在django-migrations表中存储到目前为止运行迁移的时间点,并且只会开始运行下一次迁移。

要解决您的问题,您可以删除所有数据库和迁移文件,并重新开始,因为您可能正在测试。在删除任何服务器中的迁移或数据库之前,一切都会很顺利。

如果你有宝贵的数据,你应该进入迁移文件和表来分析和管理。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39500513

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档