질문을 삭제하지 말아주세요.!
 
1
0
-1

마이그레이션하는중인데 외래키 에러가 나서 질문드립니다..


회원테이블

Schema::create('ADMIN_INFO', function (Blueprint $table) {
$table->increments('AI_IDX');
$table->string('AI_EMAIL','50');
$table->string('AI_PASSWORD','255');
$table->string('AI_SHOP_NAME','50');
$table->string('AI_BOSS','20');
$table->string('AI_MB_TELNUM','13');
$table->string('AI_TELNUM','12');
$table->string('AI_POSTCODE','10');
$table->string('AI_ADDR1','255');
$table->string('AI_ADDR2','255');
$table->string('AI_HOMEPAGE','50');
$table->string('AI_GROUP_CODE','2')->default('ma');
$table->string('AI_CATEGORY_CODE','20');
$table->datetime('AI_REG_DT')->default(DB::raw('CURRENT_TIMESTAMP'));
$table->datetime('AI_MOD_DT')->default(DB::raw('CURRENT_TIMESTAMP'));
});

Schema::table('ADMIN_INFO', function ($table) {
$table->foreign('AI_GROUP_CODE')->references('GC_CODE')->on('GROUP_CODE')->onUpdate('cascade')->onDelete('cascade');
$table->foreign('AI_CATEGORY_CODE')->references('CC_CODE')->on('CATEGORY_CODE')->onUpdate('cascade')->onDelete('cascade');
});
참조할 코드 테이블
Schema::create('GROUP_CODE', function (Blueprint $table) {
$table->increments('GC_IDX');
$table->string('GC_CODE','2')->unique();
$table->string('GC_NAME','20');
$table->boolean('GC_USE','1')->default('1');
$table->dateTime('GC_REG_DT')->default(DB::raw('CURRENT_TIMESTAMP'));
$table->dateTime('GC_MOD_DT')->default(DB::raw('CURRENT_TIMESTAMP'));
});
이렇게 스키마를 구성했는데 ..
1215 에러가 납니다. 구글링으로 검색해서 여러가지 시도해봤는데 안되서 한번 올려봅니다..
회원테이블에 코드를 넣어주려고 하는데 GC_IDX랑 참조해야하는건가요??...
    CommentAdd your comment...

    1 answer

    1.  
      1
      0
      -1

      해결한 것 같습니다.

      create 마이그레이션과 외래키를 설정하는 마이그레이션을 분리하였습니다.

      • DATE_create_admin_info_table.php
      • DATE_create_group_code_table.php
      • DATE_create_category_code_table.php
      • DATE_add_foreign_with_common_code.php

      이렇게 하니까 됩니다..

      참조하는키는 unique로 설정하였습니다.


        CommentAdd your comment...