programing

잘못된 SQL을 반환하는 Larvel 마이그레이션

batch 2023. 8. 9. 20:35
반응형

잘못된 SQL을 반환하는 Larvel 마이그레이션

나는 Laravel 6.0.2를 실행하고 있으며, 나의 마이그레이션 업 방법은 다음과 같습니다.

Schema::create('users', function (Blueprint $table) {
            $table->increments('id');
            $table->string('first_name');
            $table->string('last_name');
            $table->string('email')->unique();
            $table->string('password');
            $table->boolean('admin')->default(false);
            $table->boolean('manager')->default(false);
            $table->rememberToken();
            $table->timestamps();
});
create table `users` (
  `id` int unsigned not null auto_increment primary key,
  `first_name` varchar(255) not null,
  `last_name` varchar(255) not null,
  `email` varchar(255) not null,
  `password` varchar(255) not null,
  `admin` tinyint(1) not null default ('0'),
  `manager` tinyint(1) not null default ('0'),
  `remember_token` varchar(100) null,
  `created_at` timestamp null,
  `updated_at` timestamp null
) default character set utf8mb4 collate 'utf8mb4_unicode_ci'

나는 온라인 구문 검사기에서 SQL을 실행했고 그것은 나에게 오류를 주고 있습니다.admin tinyint(1) not null default ('0'),선.

이 버그가 Laravel 6.0.2 버그인지는 확실하지 않습니다. 업데이트 전에 작동하는 것처럼 보였기 때문입니다.

이 문제에 부딪혀서 해결책을 알고 있는 사람이 있습니까?

이것은 고치기 쉽고 간과하기 쉽습니다.제 생각에는 당신이 너무 오랫동안 그것을 보고 있었던 것 같습니다.

당신의.DEFAULT괄호나 따옴표가 필요하지 않습니다.따옴표는 문자열에 대해서만 있으며, 그렇지 않습니다.ints, 그리고 부모님은 하위 쿼리일 경우에만 필요합니다(실제로는 작동하지 않을 것 같지만 시도해보지는 않았습니다).

http://www.w3webtutorial.com/mysql/mysql-default-constraint.php

mysql에서 부울 유형은 tinyint 0 false 1 true...


$table->boolean('admin')->default(0);

언급URL : https://stackoverflow.com/questions/57876574/laravel-migration-returning-invalid-sql

반응형