하이퍼레저 프로젝트 개발시 체인코드 개발자는 테스트용 네트워크가 필요
네트워크가 빨리 구성되면 좋지만 마냥 기다릴 수 없고 개발이 병행으로 진행되는 경우가 많아
네트워크 구성 전 까지 사용할 기본 네트워크를 만들었음
하이퍼레저 프로젝트 개발시 체인코드 개발자는 테스트용 네트워크가 필요
네트워크가 빨리 구성되면 좋지만 마냥 기다릴 수 없고 개발이 병행으로 진행되는 경우가 많아
네트워크 구성 전 까지 사용할 기본 네트워크를 만들었음
이벤트 스케줄을 사용할때 시간을 지정해서 사용
예를들면 하루 한번 0시에 어떤 작업을 실행
그런데 이 실행 시각이 언제를 기준으로 하는지 확인 하기 위해서 MySQL의 시간을 먼저 확인
1 | SELECT NOW(); |
한국의 시간과 9시간이 차이가 나는것을 확인할 수 있었음
그리고 내가 설정할 이벤트 스케줄의 시간을 MySQL 시간을 기준으로 1분뒤에 실행하도록 설정하고 확인한 결과는
이벤트 스케줄은 MySQL의 시간을 기준으로 실행된다.
관리를 편하게 하기 위해 MySQL의 시간을 한국 시간으로 변경
1 | set time_zone='Asia/Seoul'; |
그리고 실제 해당 시각에 정상 실행되는 것을 확인 할 수 있었음
DB의 두 컬럼의 값이 바뀌어 들어가는 실수가 발생했을때 아래와 같이 두 컬럼의 값을 바꿀 수 있음
1 | UPDATE |
이때 주의해야 할 점이 A = (@temp:=A)
에서 콜론이 들어간다는것
만약 콜론을 빼고 UPDATE를 실행한다면 B 컬럼에 NULL이 들어가니 신중히 실행해야함
가장 좋은 방법은 테스트용 DB에서 실행한 결과를 확인하고 운영 DB에 적용하는것이 좋다
토이 프로젝트를 만드는 중에 프로시져를 사용해야 할 일이 생김
프로시져에 대해서 공부하고 테스트 서버에서 프로시져 생성 명령어를 실행하는데 아래와 같은 에러 발생
1 | Access denied for user 'root'@'%' to database 'information_schema' |
거의 반나절을 구글링과 스택오버플로우를 찾아봤는데도 해답을 찾을 수 없었음
대부분 권한 문제 때문이라고 하는데 이미 필요한 권한은 다 가지고있었음
그리고 며칠 지나 다시 문제를 풀어보려고 열었는데 에러 문구에 database 'information_schema'
부분이 자꾸 거슬렸음
그래서 이 부분에 초점을 두고 database를 내가 원하는 데이터베이스로 설정 후 프로시져를 생성하니 성공
1 | use my_database |
너무 허무하다.. 😪
M1 맥북 에어를 구입하고 Docker를 이용해 이미지를 받을때 아래와 같은 문제가 발생
1 | % docker pull hyperledger/fabric-javaenv:2.4 |
M1 환경에서 발생하는 문제로 보임
--platform linux/x86_64
인자를 주어 실행하면 정상적으로 받아오는것을 확인
1 | % docker pull --platform linux/x86_64 hyperledger/fabric-javaenv:2.4 |