我的博客有两个版本:第一个用PHP编写并使用MySQL,但第二个是新版本,用Python编写并使用Postgres。
我的目标是将数据从一个移动到另一个。表名称和架构更改。
我的想法是为旧网站制作ORM模型,并使用循环,使用ORM获取数据并将其放入新数据库中,因为我的新网站也有ORM模型。
看起来像是:
old_articles = OldArticle.objects.all()
for old_article in old_articles:
new_article = NewArticle()
new_article.title = old_article.name
new_article.content = old_article.body
new_article.save()
ORM很容易在数据库之间产生抽象差异,在我看来,这实际上可行!或者不,有更好的方法吗?
答案 0 :(得分:1)
有很多库可以做这种事情。我会坚持已经实施并经过充分测试的东西。这是一个指向postgres wiki的链接,其中包含一系列可以完成此任务的工具。
http://wiki.postgresql.org/wiki/Converting_from_other_Databases_to_PostgreSQL
答案 1 :(得分:1)
如果这次迁移只进行一次,我就不会采用ORM方式了。可以从MySQL导出符合标准的SQL转储,并且可以轻松地将转储导入PostgreSQL。一旦数据在PostgreSQL中,运行迁移查询以更改方案或使用临时“导入”表并将数据复制到新方案/布局中的表中。
测试所有迁移查询并编写包含要执行的所有步骤,要运行的查询以及按什么顺序运行的方案。还包括需要执行的手动步骤。
一旦您确定迁移方案是正确的并经过全面测试,请将旧博客置于“维护模式”(抱歉,我们已离线,我们很快就会回来)并真实地执行此操作!< / p>
最重要的是:测试你的场景,验证结果,花点时间,你永远不要急于做这些事情!