sed*_*idw 8 python django database-migration
我有一个django迁移我试图申请.它变得很好(它很小,它只添加了CharField两个不同的模型.但是当我运行实际的迁移它挂起(没有失败,没有成功,只是坐着).
通过谷歌搜索我发现其他打开的连接可以搞乱它,所以我重新启动了数据库.但是,此DB连接到连续运行的作业,新查询会立即潜入.但是它们很小,上次我尝试重新启动时我认为我能够在其他任何事情之前执行迁移.依然没有.
还有其他已知的问题导致这样的事情吗?
至少在PostgreSQL中,当存在活动事务时,您无法修改表(即使它只是添加新列).最简单的解决方法通常是:
重新启动Web服务器时,将中止所有打开的事务(假设您没有后台进程也打开事务),因此只要没有事务阻塞您的表,迁移就会完成.
我今天也遇到同样的问题。我发现您可以在运行事务之前立即使用以下SQL清除PostgreSQL中所有挂起的事务:
-- View all the current activity
-- SELECT * FROM pg_stat_activity;
-- terminate other connections (make sure to add your own IP address)
SELECT pg_terminate_backend(procpid) FROM pg_stat_activity WHERE client_addr <> 'YOUR IP HERE'
Run Code Online (Sandbox Code Playgroud)
这将终止所有不是您的连接,这在所有情况下都不是理想选择,但可以发挥作用。
| 归档时间: |
|
| 查看次数: |
2208 次 |
| 最近记录: |