-
728x90반응형
ci4 트랜잭션 처리 (transaction)
# 트랜잭션 시작
$this->db->transStart();
# 트랜잭션 완료
$this->db->transComplete();
트랜잭션 시작과 완료 함수 사이에 원라는 쿼리를 실행 할 수 있으며
주어진 쿼리의 성공 또는 실패에 따라 모두 커밋되거나 롤백됩니다.
#트랜잭션 엄격모드 비활성화
기본적으로 엄격모드가 실행되며, 비활성화는 다음과 같다.
( 각 그룹이 독립적으로 처리되므로 한 그룹의 장애가 다른 그룹에 영향을 미치지 않는다.)
$this->db->transStrict(false);
#트랜잭션 오류 처리
Config/Database.php 파일에서 오류보고를 활성화 한 경우 커밋이 실패하면 표준 오류 메시지가 표시된다.
오류보고가 꺼져 있으면 다음과 같이 자신의 오류를 관리 할 수 있다.
$this->db->transStatus();
1)
if ($this->db->transStatus() === false) {
//log_message(); 오류발생되어 로그 메세지 남김
}2) 수동 커밋/롤백
if ($this->db->transStatus() === false) {
$this->db->transRollback();
} else {
$this->db->transCommit();
}#트랜잭션 비활성화
$this->db->transOff();
<? namespace App\Models; use CodeIgniter\Model; class testModel extends Model { function test() { $this->db->transStart(); $this->db->query(""); $this->db->transComplete(); } function test2() { $this->db->transStart(); $this->db->query(""); if ($this->db->transStatus() === false) { $this->db->transRollback(); } else { $this->db->transCommit(); } } }
728x90반응형'CI4' 카테고리의 다른 글
ci 페이지 이동 (리디렉션) (0) 2022.08.05 ci4 윈도우 테스트 환경 페이지 느려짐 (0) 2022.08.02 ci paginate 페이징처리 (0) 2022.07.15 ci 세션 (0) 2022.07.08 ci 사용자 라이브러리 (0) 2022.07.07