#mysql #laravel #laravel-4 #geospatial
#mysql #laravel #laravel-4 #геопространственный
Вопрос:
- Как мне добавить столбец точек в моей миграции Laravel 4 для базы данных MySQL?
- Можно ли настроить независимые от базы данных миграции, используя инструкцию 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
}