Database 如何在Django项目中删除一个应用程序的表和syncdb?
我在DjangoZoom上部署了一个Django应用程序。人们一直在注册,所以数据库中有用户 我想在项目中重组我的一个应用程序的数据库。我的计划是删除所有表,然后执行syncdb以建立新结构。然后,我将通过在生产数据库上安装本地创建的fixture,从站点添加所有内容 问题是我会在计划中丢失所有这些用户数据。我如何删除相关的表——那些我可以用fixture重新加载内容并保持auth表不变的表?请注意,在DjangoZoom上,我只能使用-noinput运行manage.py命令,无法直接访问数据库。此外,我的项目在Django 1.3中,因此不推荐使用manage.py reset app_name 我想我可以为此进行向南迁移,但这是一个相对简单的更改,因为我在Fixture中拥有所有数据,所以似乎不值得这么做。有什么建议吗?只要做:Database 如何在Django项目中删除一个应用程序的表和syncdb?,database,django,production-environment,django-syncdb,dev-to-production,Database,Django,Production Environment,Django Syncdb,Dev To Production,我在DjangoZoom上部署了一个Django应用程序。人们一直在注册,所以数据库中有用户 我想在项目中重组我的一个应用程序的数据库。我的计划是删除所有表,然后执行syncdb以建立新结构。然后,我将通过在生产数据库上安装本地创建的fixture,从站点添加所有内容 问题是我会在计划中丢失所有这些用户数据。我如何删除相关的表——那些我可以用fixture重新加载内容并保持auth表不变的表?请注意,在DjangoZoom上,我只能使用-noinput运行manage.py命令,无法直接访问数据
./manage.py reset appname
我最终实现了south for migrations,以更改DjangoZoom上的表,而不是尝试清除某些应用程序的表
通过使用south的schemamigration-auto为更改生成迁移,可以轻松地对现有数据库进行更改。此外,进行迁移使我能够保留项目中的大部分内容。您可以尝试创建新表以及要使用的装置和模型,然后更改应用程序代码,以便将其插入到两个表中。这必然会更慢。然后,当你对新表满意时,只需删除旧表并删除旧模型/装置。我尝试过这样做,但它表示,在其他应用程序中,仍然存在与其他表的关系,因此无法删除该表,即使我也在这些应用程序上进行了重置。此外,Django文档说1.3中不推荐使用“重置”。