php 편집자 Yuzai는 "go goose 트랜잭션은 언제 제출되나요?"라는 일반적인 질문에 답하기 위해 왔습니다. Go 언어에서 트랜잭션 제출은 특정 데이터베이스 드라이버에 따라 다릅니다. 일반적으로 트랜잭션 커밋 작업을 수행할 때 데이터베이스는 현재 트랜잭션의 모든 수정 작업을 한 번에 데이터베이스에 제출합니다. 이는 트랜잭션의 원자성을 보장합니다. 즉, 모든 커밋이 성공하거나 모든 롤백이 실패합니다. 따라서 트랜잭션 제출 시점은 트랜잭션의 시작이나 끝이 아닌 트랜잭션 커밋 작업이 수행되는 시점입니다. 구체적인 사용 방법은 관련 데이터베이스 드라이버 설명서를 참조하세요.
tx
에서 실행해야 하는 코드가 있습니다go goose
제 질문은:
commited
데이터베이스에 커밋되나요? tx.commit()
를 사용해야 했습니다. 이동 중인 마이그레이션 파일은 다음과 같습니다. down
부분 이후에는 위의 마이그레이션을 실행할 수 없습니다. 실행하면 errtxdone
이 표시되기 때문입니다(출처). 여전히 go migration up00002
를 여러 번 실행하고 싶습니다(테스트용). 어떻게 해야 하나요? 내가 여기서 뭘 잘못하고 있는 걸까? down
部分之后运行上述迁移,因为当我运行它们时,我得到了 errtxdone
(源)。我仍然想多次运行 go 迁移 up00002
(用于测试)。我怎样才能做到这一点?我在这里做错了什么?
因此,只需浏览他们的文档此处即可显示提交已经在 AddMigrations
调用中发生 - 这是使用 ofc 事务,由 go goose
그러므로 여기 문서를 찾아보면 커밋이 이미 있음을 알 수 있습니다. AddMigrations 호출 - 이는 ofc 트랜잭션을 사용하여
내부적으로 처리됩니다. 아주 좋습니다 :)
--no-transaction
选项,我们可以使用它来完全控制db
SQL의 경우에도 마찬가지입니다.
위 내용은 Go Goose 거래는 언제 제출되나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!