我们有一个基于Laravel 5.3的网站和一个可以离线工作的移动应用程序。 Laravel正在使用MySQL数据库。
我需要在网络和移动应用之间同步数据。移动应用程序将使用时间戳发出请求,并且API将发送自该时间戳以来更改的所有数据。
我的移动开发人员表示,最简单的方法是将数据作为单个sqlite数据库文件接收。所以我的问题是:
Laravel有没有办法将所选数据导出为有效的sqlite格式?
答案 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')
);