gpt4 book ai didi

mysql - 如何将数据从一个数据库迁移到另一个具有不同结构的数据库?

转载 作者:行者123 更新时间:2023-11-29 06:27:56 25 4
gpt4 key购买 nike

我在用 PHP 编写的旧 MySQL 数据库中有大约 10,000 条数据。这个旧数据库没有定义结构和关系。这完全是传统设计。我现在正在努力重构整个系统,其中的表及其关系现已完全定义。

现在的问题仍然是如何最好地将数据从旧数据库(用没有框架的 PHP 编写)移动到新数据库(用 Laravel 编写)。

Laravel 命令是一个不错的选择吗?我可以从旧数据库中读取数据,指定需要什么列,然后插入到新数据库中?

最佳答案

我的脑海中浮现出以下内容:

1。普通的原始 SQL

您可以编写一系列原始 SQL 语句,这些语句将读取旧数据库并向新数据库插入记录。这可以在没有像 eloquent 这样的 ORM 的帮助下完成。

优点:

  • 在性能方面没有什么比原始 SQL 更好,因此迁移运行速度很快

缺点:

  • 如果数据库结构非常不同,则可能很难编写正确的查询
  • 更容易忘记添加主键和外键之类的事情

2。 Laravel 命令

您可以编写一个(或多个)artisan 命令来执行数据迁移(分步骤)。这样你就可以使用 Laravel 中的 DB Facade 读取旧数据库,并使用 Eloquent 将数据写入新数据库。

优点:

  • 更容易编写,因为您可以利用 Eloquent 模型
  • Eloquent 会处理您可能会忘记的事情,例如添加主键和外键

缺点:

  • 原始 SQL 的性能可能会优于 Eloquent。
  • 如果您有大量数据,则必须针对内存使用情况优化脚本。否则您可能会遇到内存限制问题。

因此,Laravel 命令肯定是一个很好的解决方案,具体取决于您的数据结构的不同程度、数据集有多大以及性能的重要性。

关于mysql - 如何将数据从一个数据库迁移到另一个具有不同结构的数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58409489/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com