Laravel Framework | PHP & MySQL | Tutorials

David Carr

Laravel Importing SQL dumps with seeds

Seeding with Laravel is really useful for populating the database for instance a typical use case:

class TitlesDatabaseSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        Model::unguard();

        Title::create(['title' => 'Mr']);
        Title::create(['title' => 'Miss']);
        Title::create(['title' => 'Ms']);
        Title::create(['title' => 'Mrs']);
        Title::create(['title' => 'Dr']);
    }
}

That's fine for simple inserts but when you need to import complex data say from an export the above won't do.

Instead DB::unprepared can be used to read and run raw sql

This example will import the sql provided.

//path to sql file
$sql = base_path('dump.sql');

//collect contents and pass to DB::unprepared
DB::unprepared(file_get_contents($sql));

 

Domains are often purchased from multiple providers, keeping track of where a domain is and its DNS settings can be tricky. Domain Mapper solves this by listing all your domains in one place. View your DNS settings and receive reminders to renew your domains. Try it today.

Support my work by donating with PayPal.

Subscribe to my newsletter

Subscribe and get my books and product announcements.

© 2009 - 2021 DC Blog. All code MIT license. All rights reserved.