如何从CodeIgniter数据库迁移到Laravel数据库

时间:2014-01-23 07:49:14

标签: database codeigniter model laravel migration

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

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

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

1 个答案:

答案 0 :(得分:0)

Laravel或Codeigniter中的数据库几乎相同,如果你的表格对你来说很好,并且他们有一个名为id的主键(这也不是强制性的)你只需要连接Laravel在你的数据库中它会正常工作。

对于新表,您可以创建新的迁移,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不会耗尽内存。

请参阅?有很多选择,可能还有更多,所以选择一个,如果你需要帮助,可以拍更多问题。