![]() |
1
9
对于它的价值,我完全理解你的挫折,因为我在开始时经历了一个非常相似的思考过程。不幸的是,除了熟悉你将要使用的工具之外,你没有什么可以做的(不管怎样,很容易)。
首先,您不需要多个数据库来完成您所做的工作—一个数据库可以完成。每个应用程序都将在数据库中创建自己的表,这些表彼此之间有些隔离。正如捷克人所说,你可以
要获得相对容易处理格式的数据,可以使用命令
另一种选择是对您认为需要额外灵活性的任何数据使用NoSQL数据库。请记住,Django目前没有任何支持。这意味着没有管理支持或模型表单。当然,拥有一个模型可能是不必要的。 |
![]() |
2
4
简而言之,你的恐惧是没有根据的。您应该按项目“组织”数据库以使用django术语。每个应用程序中的每个模型都有自己的表,但它们都在同一个数据库中。将它们放在一个单独的数据库中并不是一个好主意,因为有很多原因,最大的原因是不能跨数据库查询。 虽然我同意South对于您的初始设计/dev阶段来说可能有点重,但对于任何类似于beta版本的东西,以及在生产中绝对必要的东西,都应该认真考虑。 如果您要在开发过程中处理您的模型,最好的方法是使用fixture在运行sync之后快速加载数据。或者,如果您要更改一组必需的字段,那么可以编写一些快速的python来为您创建虚拟数据。 至于不相信你的数据是二进制的,一个简单的“pg-dump”会给你一个文本版本的数据。在我看来,你在用你的应用程序对抗实时生产数据,这是一个错误。您的目标应该是让您的应用程序在伪造数据或至少一份生产数据副本上进行构建、工作和测试,然后当您确定一切都是黄金时,将其迁移到生产中。在这里,像South这样的东西可以派上用场,因为您可以自动执行此部署,它将帮助您处理需要进行的任何数据库表/列更改。 我相信所有这些听起来都是痛苦的,但所有这些都能自动完成,相信我,这会让你的生活更加轻松。 |
![]() |
3
4
我通常只是重置模块
这将重置中的所有表
我不确定这是否能回答你的问题,但这比擦掉数据库更具破坏性。 |
![]() |
4
1
同步数据库应该只用于开发。这就是为什么清除表并重新开始并不重要的原因,也许可以将查找数据导出到JSON文件中,每次同步时都可以导入该文件。 然而,当你的网站投入生产时,你会有更多的工作。对模型所做的任何更改都需要反映在数据库中,需要作为SQL发出,并在数据库上手动运行。有一个django-admin.py函数来发出建议的SQL,您可以使用它构建一个脚本,在数据库上运行以迁移它。正如你所提到的,像South这样的迁移应用程序在这里是有益的,但它并不是严格需要的。 就分离站点而言,将它们作为单独的站点/项目运行。每个项目可以有一个单独的设置文件,允许您运行两个不同的数据库。这与在同一个项目中将两个站点作为单独的应用程序运行形成对比。如果它们是完全独立的,那么它们可能不应该在同一个项目中,除非您需要利用公共代码。 |
![]() |
blogger13 · 视频租赁店数据库的规范化 9 月前 |
![]() |
ì¤ì¤í · 为什么LEFT INNER JOIN被弃用? 9 月前 |
![]() |
relatively_random · 确保两个表之间一致的共同参考 10 月前 |
|
Grenish Rai · Firestore错误“用户文档不存在” 1 年前 |
![]() |
Saijo-Shi · PLpgsql中的更新触发器 1 年前 |
![]() |
Dante · Django::配置不当:池不支持持久连接 1 年前 |
![]() |
YouLocalRUser · 删除重复行,保留第一行 1 年前 |