aozisik / outport by aozisik

Exports Laravel Collections to a single SQLite database
20
3
2
Package Data
Maintainer Username: aozisik
Maintainer Contact: ozisikahmet@gmail.com (Ahmet Ozisik)
Package Create Date: 2014-07-23
Package Last Update: 2016-11-30
Home Page:
Language: PHP
License: MIT
Last Refreshed: 2024-04-15 03:03:32
Package Statistics
Total Downloads: 20
Monthly Downloads: 0
Daily Downloads: 0
Total Stars: 3
Total Watchers: 2
Total Forks: 0
Total Open Issues: 0

⚓️ Outport Build Status

Just pass in Laravel collections and Outport will put them all in a SQLite database.

##How do I use it?

You should first require this package through composer:

composer require aozisik/outport

Note: For Laravel 4.2, see L4 branch.

Then simply:

use Aozisik\Outport\Outport;

$books = collect([
	[
		'title' => 'Pride and Prejudice',
		'author' => 'Jane Austen'
	],
	[
		'title' => 'Oliver Twist',
		'author' => 'Charles Dickens'
   ],
   [
		'title' => 'The Fault in Our Stars',
		'author' => 'John Green'
   ]
]);

$sqliteFile = (new Outport())
    ->table('books', $books, ['author']) // table name, collection, indexes
    ->go();

echo $sqliteFile; // Path to your sqlite database

##I want details!

Outport is a Laravel package that helps you create SQLite databases from arbitrary Laravel collections. Just pass in your collections and set your table names.

Outport will:

  • Decide the best way to create tables for your collections
  • Create a SQLite database and migrate those tables
  • Insert data from your collection in chunks
  • Create indexes if asked

A simple go() call will wrap it all together and spit out the path to your SQLite file, complete with the tables and indexes you want.

##Why would you want to output SQLite?

SQLite is a very compact format, therefore it is widely used inside mobile applications.

I have created this package to help facilitate data transportation between my Laravel back-end and SQLite enabled mobile app. So if you need to pre-populate fresh copies of your app and/or push updates to existing copies through your Laravel back-end, this package will help you do that.

Suggestions and pull requests are welcome!