如何将Drupal数据迁移到Django?

Ale*_*ido 6 database django data-migration drupal

我想将Drupal 6站点的一部分迁移到Django应用程序,特别是基于Drupal的问题和答案部分,我认为它可以更好地与OSQA一起使用.我已经创建了另一个此集成的身份验证部分相关的问题,出于这个问题的目的,我们可以假设所有Drupal用户都将在Django数据库中重新创建,至少是他们的用户名.这个问题是关于从Drupal到Django的数据迁移.

在Drupal中,我将所有问题都作为具有一些CCK字段的"问题"内容类型的节点,并且这些问题的答案是标准注释.我需要帮助来找到将这些数据移动到Django中的OSQA的最佳方法.

起初我以为我可以使用南方,但我不确定它是否最适合我的需求.

现在我认为我最好的方法是编写一个连接到Drupal数据库的Django应用程序,用相应的注释和用户查询所有问题,然后使用正确的模型和Django方法直接插入Django的数据库.

我在正确的道路上吗?还有其他建议吗?

谢谢!

Mik*_*one 5

起初我以为我可以使用南方,但我不确定它是否最适合我的需求.

不,南方不适合这种移民.它适用于项目内部迁移,你会希望拥有它,但它对你没有任何好处.

"迁移"对你所需要的东西来说真的不是一个好词.你真正想要做的是出口由Drupal的数据,并导入成Django的.

我没有对此可能的解决方案进行深入分析,但是我被要求做同样的事情,我只是为传输定义一个基于JSON或XML的交换格式,然后编写一组代码将数据从Drupal导出到此格式,然后将另一个数据从此格式导入Django.我强烈建议不要使用二进制格式进行此交换; 将数据加载到文本编辑器中以验证数据和修复内容的能力非常重要.

现在我认为我最好的方法是编写一个连接到Drupal数据库的Django应用程序,用相应的注释和用户查询所有问题,然后使用正确的模型和Django方法直接插入Django的数据库.

如果你想跳过交换文件并一步完成,那么你不想只为导入编写一个新的Django应用程序; 那是(恕我直言)矫枉过正.您要编写的是您将要导入数据的应用程序中的Django管理命令,您可能希望使用Django对多个数据库的支持以及使用现有数据库模式的模型属性(例如db_tabledb_column).这就是我推荐交换文件方法的原因:你不需要在Django模型中重新实现Drupal表.