Laravel - 将db行导出为sqlite格式

时间:2017-01-24 09:57:43

标签: laravel sqlite

我们有一个基于Laravel 5.3的网站和一个可以离线工作的移动应用程序。 Laravel正在使用MySQL数据库。

我需要在网络和移动应用之间同步数据。移动应用程序将使用时间戳发出请求,并且API将发送自该时间戳以来更改的所有数据。

我的移动开发人员表示,最简单的方法是将数据作为单个sqlite数据库文件接收。所以我的问题是:

Laravel有没有办法将所选数据导出为有效的sqlite格式?

2 个答案:

答案 0 :(得分:0)

  

sqlite格式

Laravel与您的数据库服务器无关。您需要做的就是将当前数据库转储为纯SQL(即使用phpmyadmin)并导入到sqlite数据库。如果需要,您可以使用http://sqlitebrowser.org/之类的工具导入转储,然后交出您的dev .sqlite二进制文件,该文件也可以使用。

答案 1 :(得分:0)

我最后创建了一个Artisan命令,将选定的表转储到sql,然后使用this script将其转换为sqlite

所以我的命令中的整个代码看起来像这样:

exec('mysqldump -P ... login credentials ... tables to export ...'.storage_path('app/export/dump.sql'));
exec('mysql2sqlite '
    . storage_path('app/export/dump.sql') . ' ' 
    . storage_path('app/export/sqlite.db') 
);