Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Schema Builder Issue 2nd Table Creation Issue  #4497

Copy link
Copy link
Closed
@nolros

Description

@nolros
Issue body actions

I've been playing around Schema Builder and for some reason it will not longer create the 2nd table and it will not create composite key on the second table. I can run plain SQL (test SQL below) and get it done so unsure.

  1. Running latest version of Laravel.
  2. PHP 5.5
  3. mySQL 5.5.34-cll-lve
  4. Apache 2.2.25

if(DB::connection()->getDatabaseName())
{
echo "connected sucessfully to database ".DB::connection()->getDatabaseName();
}

Schema::create('users', function($usertable)
{

$usertable->bigIncrements('userid');    
$usertable->char('username',100);
$usertable->char('passwordhash',64);    
$usertable->char('name',100)->nullable();       
$usertable->char('firstname',100)->nullable();                      
$usertable->char('lastname',100)->nullable();       
$usertable->smallInteger('namevisible');    
$usertable->char('email',100);
$usertable->smallInteger('emailvisible');   
$usertable->smallInteger('userenabled');        
$usertable->dateTime('creationdate');   
$usertable->dateTime('modificatonDate');        
$usertable->dateTime('lastloggedin');   
$usertable->dateTime('lastprofileupdate');              
$usertable->smallInteger('visible');    
$usertable->smallInteger('status'); 
$usertable->primary('userid')->unique();                    

});
Schema::create('usergroups', function($usrgrptable)
{
$usrgrptable->bigIncrements('groupid');
$usrgrptable->bigInteger('userid', 20);
$usrgrptable->bigInteger('administrator', 20);
$usrgrptable->primary(array('groupid','userid','adminstrator'));
});

TEST SQL THAT WORKS FINE

SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES';

USE matrixme_matrixme ;


-- Table matrixme_matrixme.users


CREATE TABLE IF NOT EXISTS matrixme_matrixme.users (
userid INT UNSIGNED NOT NULL AUTO_INCREMENT,
username VARCHAR(100) NULL,
firstname VARCHAR(100) NULL,
lastname VARCHAR(100) NULL,
PRIMARY KEY (userid))
ENGINE = InnoDB;


-- Table matrixme_matrixme.user groups


CREATE TABLE IF NOT EXISTS matrixme_matrixme.user groups (
groupid INT UNSIGNED NOT NULL AUTO_INCREMENT,
userid INT UNSIGNED NOT NULL,
admininstrator INT UNSIGNED NOT NULL,
PRIMARY KEY (groupid, userid, admininstrator),
INDEX fk_user_id_idx (userid ASC),
CONSTRAINT fk_user_id
FOREIGN KEY (userid)
REFERENCES matrixme_matrixme.users (userid)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;

SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;

ERROR IN LOG FILE (weird as it was working beforehand and just stopped working)

[2014-05-26 20:13:53] production.ERROR: exception 'Illuminate\Database\QueryException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1068 Multiple primary key defined (SQL: alter table users add primary key users_userid_primary(userid))' in /home/matrixme/public_html/vendor/laravel/framework/src/Illuminate/Database/Connection.php:555
Stack trace:
#0 /home/matrixme/public_html/vendor/laravel/framework/src/Illuminate/Database/Connection.php(338): Illuminate\Database\Connection->run('alter table us...', Array, Object(Closure)) #1 /home/matrixme/public_html/vendor/laravel/framework/src/Illuminate/Database/Schema/Blueprint.php(63): Illuminate\Database\Connection->statement('alter table us...')
#2 /home/matrixme/public_html/vendor/laravel/framework/src/Illuminate/Database/Schema/Builder.php(169): Illuminate\Database\Schema\Blueprint->build(Object(Illuminate\Database\MySqlConnection), Object(Illuminate\Database\Schema\Grammars\MySqlGrammar))
#3 /home/matrixme/public_html/vendor/laravel/framework/src/Illuminate/Database/Schema/Builder.php(112): Illuminate\Database\Schema\Builder->build(Object(Illuminate\Database\Schema\Blueprint))
#4 /home/matrixme/public_html/bootstrap/compiled.php(3165): Illuminate\Database\Schema\Builder->create('users', Object(Closure))
#5 /home/matrixme/public_html/app/routes.php(42): Illuminate\Support\Facades\Facade::__callStatic('create', Array)
#6 /home/matrixme/public_html/app/routes.php(42): Illuminate\Support\Facades\Schema::create('users', Object(Closure))
#7 [internal function]: {closure}()
#8 /home/matrixme/public_html/bootstrap/compiled.php(4954): call_user_func_array(Object(Closure), Array)
#9 /home/matrixme/public_html/bootstrap/compiled.php(4669): Illuminate\Routing\Route->run(Object(Illuminate\Http\Request))
#10 /home/matrixme/public_html/bootstrap/compiled.php(4657): Illuminate\Routing\Router->dispatchToRoute(Object(Illuminate\Http\Request))
#11 /home/matrixme/public_html/bootstrap/compiled.php(706): Illuminate\Routing\Router->dispatch(Object(Illuminate\Http\Request))
#12 /home/matrixme/public_html/bootstrap/compiled.php(687): Illuminate\Foundation\Application->dispatch(Object(Illuminate\Http\Request))
#13 /home/matrixme/public_html/bootstrap/compiled.php(1144): Illuminate\Foundation\Application->handle(Object(Illuminate\Http\Request), 1, true)
#14 /home/matrixme/public_html/bootstrap/compiled.php(7264): Illuminate\Http\FrameGuard->handle(Object(Illuminate\Http\Request), 1, true)
#15 /home/matrixme/public_html/bootstrap/compiled.php(7861): Illuminate\Session\Middleware->handle(Object(Illuminate\Http\Request), 1, true)
#16 /home/matrixme/public_html/bootstrap/compiled.php(7808): Illuminate\Cookie\Queue->handle(Object(Illuminate\Http\Request), 1, true)
#17 /home/matrixme/public_html/bootstrap/compiled.php(10820): Illuminate\Cookie\Guard->handle(Object(Illuminate\Http\Request), 1, true)
#18 /home/matrixme/public_html/bootstrap/compiled.php(648): Stack\StackedHttpKernel->handle(Object(Illuminate\Http\Request))
#19 /home/matrixme/public_html/public/index.php(49): Illuminate\Foundation\Application->run()
#20 {main} [] []

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      Morty Proxy This is a proxified and sanitized view of the page, visit original site.