読者です 読者をやめる 読者になる 読者になる

気ままNote

個人の技術メモ

Laravel5 マイグレーションファイルで素のSQLクエリを実行する

laravel postgresql

何故か

PostgreSQLで配列型を使いたかったから。

http://stackoverflow.com/questions/28787293/run-this-raw-sql-in-migration

<?php

use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreateArticlesTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */

    public function up()
    {
        Schema::table('articles', function (Blueprint $table) {
            $sql = '
                CREATE TABLE articles (
                  id serial PRIMARY KEY,
                  created_at timestamp DEFAULT current_timestamp,
                  author int[]
                );
            ';
            DB::connection()->getPdo()->exec($sql);
        });
    }
(略)

フレームワーク特有の書き方で迷ったり戸惑う時間ができるくらいなら、素のクエリを書いたほうが生産性高そう