You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm having an issue getting migrations to work with this package.
The problem seems to be a class loading issue, but I'm not 100% sure. Here's what my migration file looks like:
use Bosnadev\Database\Schema;
use Bosnadev\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class TestMigration extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('test', function(Blueprint $table)
{
$table->engine = "InnoDB";
$table->increments('id');
$table->uuid('public_uid');
$table->uuid('private_uid');
$table->softDeletes();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::drop('test');
}
}
Here's the error I get when trying to migrate:
[ErrorException]
Argument 1 passed to TestMigration::{closure}() must be an instance of Bosnadev\Database\Schema\Blueprint, instance of Illuminate\Database\Schema\Blueprint given, called in /Users/mydir/LaravelProjects/laravel5/vendor/illuminate/database/Schema/Builder.php on line 132 and defined
I'm hoping other users, or @mirzap might be able to help me troubleshoot this issue. Thanks!
The text was updated successfully, but these errors were encountered:
This is an extension of a PostgreSQL connector so you don't need $table->engine = "InnoDB";
I think you could do just fine if you use Illuminate Blueprint:
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
since my Blueprint is already hooked to SchemaBuilder. Just add DatabaseServiceProvider to the service providers in config/app.php:
<?php
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class Test extends Migration
{
public function up()
{
Schema::create('test', function(Blueprint $table)
{
$table->engine = "InnoDB";
$table->increments('id');
$table->uuid('public_uid');
$table->uuid('private_uid');
$table->softDeletes();
$table->timestamps();
});
}
public function down()
{
Schema::drop('test');
}
}
and here is a result:
postgres=# \c homestead
You are now connected to database "homestead" as user "postgres".
homestead=# \d+ test
Table "public.test"
Column | Type | Modifiers | Storage | Stats target | Description
-------------+--------------------------------+---------------------------------------------------+---------+--------------+-------------
id | integer | not null default nextval('test_id_seq'::regclass) | plain | |
public_uid | uuid | not null | plain | |
private_uid | uuid | not null | plain | |
deleted_at | timestamp(0) without time zone | | plain | |
created_at | timestamp(0) without time zone | not null | plain | |
updated_at | timestamp(0) without time zone | not null | plain | |
Indexes:
"test_pkey" PRIMARY KEY, btree (id)
I'm having an issue getting migrations to work with this package.
The problem seems to be a class loading issue, but I'm not 100% sure. Here's what my migration file looks like:
Here's the error I get when trying to migrate:
I'm hoping other users, or @mirzap might be able to help me troubleshoot this issue. Thanks!
The text was updated successfully, but these errors were encountered: