반응형
Laravel에 데이터베이스 테이블이 있는지 감지하는 방법이 있습니까?
나는 사용하여 테이블을 만들 수 있기를 원합니다
Schema::create('mytable',function($table)
{
$table->increments('id');
$table->string('title');
});
그러나 그 전에 테이블이 이미 존재하는지 확인하고 싶습니다.
Schema::exists('mytable');
그러나 위의 기능은 존재하지 않습니다. 그 밖에 무엇을 사용할 수 있습니까?
Laravel 4 또는 5를 사용하는 경우 hasTable()
방법 이 있으며 L4 소스 코드 또는 L5 문서 에서 찾을 수 있습니다 .
Schema::hasTable('mytable');
새 테이블을 생성하려면 Laravel Schema 함수에 의한 검사가 하나뿐입니다 hasTable
.
if (!Schema::hasTable('table_name')) {
// Code to create table
}
그러나 존재를 확인하기 전에 테이블을 삭제하려면 Schema에라는 함수가 dropIfExists
있습니다.
Schema::dropIfExists('table_name');
테이블이 존재하면 테이블을 삭제합니다.
L3에는 내장 기능이 없습니다. 원시 쿼리를 수행 할 수 있습니다.
$table = "foo";
$check = DB::only('SELECT COUNT(*) as `exists`
FROM information_schema.tables
WHERE table_name IN (?)
AND table_schema = database()',$table);
if(!$check) // No table found, safe to create it.
{
// Schema::create …
}
.NET Framework를 사용하여 테이블의 일부 데이터를 확인하는 대신 정보 스키마 쿼리에 의존하십시오 COUNT()
.
SELECT table_schema
FROM information_schema.tables
WHERE table_schema = DATABASE()
AND table_name = 'table_name';
'table_name'
가치를 변경하십시오 .
하나의 행 출력을 얻으면 테이블이 있음을 의미합니다.
반응형
'Development Tip' 카테고리의 다른 글
Python : 문자열 이름에서 함수 호출 (0) | 2020.11.09 |
---|---|
PHP의 implode ( ',', array_filter (array ()))에 해당하는 Java (0) | 2020.11.09 |
Linux에서 Atom 텍스트 편집기를 제거하는 방법은 무엇입니까? (0) | 2020.11.09 |
순수한 Swift 프로젝트에서 실행중인 단위 테스트를 앱에 알리는 방법은 무엇입니까? (0) | 2020.11.09 |
ES6 기능이 활성화 된 상태에서 Node.js 앱을 실행하는 방법은 무엇입니까? (0) | 2020.11.09 |