花了一些时间将旧数据迁移到新的drupal站点,我的第一个节点ID已经进入4位数区域。
有没有人从#1开始重新编号节点ID的这个位置?也许在数据库上使用直接查询,或者遍历并重新编号所有节点的模块?
当然,必须保留nodereferences ...如果我尝试编写脚本,还有其他潜在的挂断吗?
答案 0 :(得分:4)
没有针对此的通用解决方案。您可以使用一堆直接查询为您的特定Drupal设置执行此操作,对于将节点ID存储为序列化数据的任何内容,可能会使用一堆PHP。但这需要很长时间,并且不适用于运行不同模块的任何站点。这让我们想到凯文的问题:为什么?
高节点ID不会导致技术问题,即使他们这样做,4位数的节点ID也不会很高。
答案 1 :(得分:2)
您最好为数据导入编写程序。在代码中捕获进程。如果您发现了一些错误,请删除安装并重新启动。安装配置文件会为您执行此操作。
您应该可以从干净安装开始,并根据需要重复此过程。您不需要在同一安装上运行该过程两次。这意味着您的问题(这不是真正的问题)永远不会发生。这也意味着您可以使用版本控制系统管理导入过程。
您可以使用selenium IDE等进一步自动化此过程。
直接查询数据库,对于这样的事情(以及其他大多数事情)是一个糟糕的主意。节点ID通过多个表分发,因此您需要非常小心。节点API将是一个更安全和更安全的解决方案。编辑节点时,请使用API,因为它就是它的意思。
否则,我强烈建议强烈建议不要更改节点ID,除非您可以证明风险。在这里做出正确的决定比您的节点ID更重要。