【问题标题】:How to migrate from CodeIgniter database to Laravel database如何从 CodeIgniter 数据库迁移到 Laravel 数据库
【发布时间】:2014-02-13 15:42:54
【问题描述】:

我决定从我的 CodeIgniter 应用程序迁移到 laravel,专门用于他们可能使用 rails 处理数据库。

但问题是我有 800mb 的数据库要迁移。我怎样才能以一种好的和快速的方式做到这一点?我看到的教程是基于旧的 laravel 模型到新的模型。这让我很困惑。

我还使用 codeigniter 的 crypt 库作为用户密码。我该如何迁移它?

【问题讨论】:

  • 我也有同样的问题。如果我成功迁移密码数据,我将在此处发布解决方案。 :D

标签: database codeigniter model laravel migration


【解决方案1】:

Laravel 或 Codeigniter 中的数据库几乎相同,如果您的表适合您,并且它们有一个名为 id 的主键(这也不是强制性的),您可以在您的数据库,它会工作得很好。

对于你的新表,你可以创建新的迁移,Laravel 不会对此抱怨。

好吧,但是如果您真的需要迁移到一个全新的数据库,您可以执行以下操作:

1) 重命名需要迁移的表

php artisan migrate:make

2) 使用您创建所有迁移并迁移它们:

php artisan migrate

3) 使用您的数据库服务器 sql 实用程序将数据从一个表复制到另一个表,相信我,这比在 Laravel 中创建所有内容要快得多。大多数数据库都允许您执行以下操作:

INSERT INTO users (FirstName, LastName)
SELECT FirstName, LastName
FROM users_old

在某些情况下,您可以使用两个不同的数据库和列名来做同样的事情

INSERT INTO NEWdatabasename.users (firstName+' '+Lastname, email)
SELECT name, email
FROM OLDdatabasename.

或者你可以将数据导出到 CSV 文件,然后在你的 Laravel 种子类中创建一个方法来将该数据加载到你的数据库中,有很多数据要导入,你只需要记住执行:

DB::disableQueryLog();

因此您的 PHP 不会耗尽内存。

看到了吗?有很多选择,可能更多,所以选择一个,如果您需要帮助,请提出更多问题。

【讨论】:

  • 我有一个问题 - 我知道 laravel+voyager,它似乎是一个不错的选择,作为预先构建的样板项目,所以我可以构建我的项目 - 使用现有的管理面板。问题: voyager 是否适合用于自定义编程——比如在 codeigniter 中。困扰我的是 BREAD 功能 - 我认为不必使用这些生成器实现所有控制器/模型?!总而言之 - laravel 是转换我的 codeigniter 项目的一个不错的选择,这样我就可以预先构建具有访问控制和登录等的管理区域。@antonio-carlos-ribeiro
猜你喜欢
  • 1970-01-01
  • 2019-04-25
  • 2016-06-09
  • 2014-05-05
  • 2016-11-28
  • 2018-04-04
  • 2021-09-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多