我已经决定从我的CodeIgniter应用程序迁移到laravel专门用于他们可能的数据库处理。
问题是我有800mb的数据库要迁移。我怎样才能以一种快速的方式做到这一点?我看到的教程是基于旧的laravel模型到新的。这让我很困惑。
我还使用codeigniter的crypt库作为用户密码。我该如何迁移?
答案 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不会耗尽内存。
请参阅?有很多选择,可能还有更多,所以选择一个,如果你需要帮助,可以拍更多问题。