Добавить столбец геопространственных точек MySQL в Laravel 4 миграции

#mysql #laravel #laravel-4 #geospatial

#mysql #laravel #laravel-4 #геопространственный

Вопрос:

  1. Как мне добавить столбец точек в моей миграции Laravel 4 для базы данных MySQL?
  2. Можно ли настроить независимые от базы данных миграции, используя инструкцию check if mysql и check if postgres? И если да, то как я могу это сделать?

Я пробовал:

 public function up()
{
    Schema::create('meetings', function(Blueprint $table) {
        $table->increments('id');

        $table->string('title');
        $table->text('description');
        $table->enum('category',[0,1,2,3,4])->index();

        $table->unsignedInteger('owner_id');
        $table->foreign('owner_id')->references('id')->on('users')->onDelete('cascade');

        $table->dateTime('start_date');
        $table->dateTime('end_date');

        $table->timestamps();
    });
    DB::raw("ALTER TABLE meetings ADD COLUMN geolocation POINT"); 
}
 

Но это, похоже, не работает.

Ответ №1:

Вы должны использовать statement метод:

 DB::statement("ALTER TABLE meetings ADD COLUMN geolocation POINT");
 

Обновить

Что касается второго вопроса, вы можете получить доступ к database.php файлу следующим образом:

 if (Config::get('database')['default'] === 'mysql'){
    // mysql 
}else if (Config::get('database')['default'] === 'pgsql'){
    // PostgreSQL
}