在 Laravel 4 迁移中添加 MySQL 地理空间点列

标签: MySQL laravel
发布时间: 2017/1/9 21:58:35
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.
  1. 如何在我的 Laravel 4 迁移 MySQL 数据库中添加点列?
  2. 是它可能使用一张支票,如果安装程序数据库独立迁移 mysql 和检查如果 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
}
赞助商