조희대의 개인사이트
Anything personal, something useful

넥스트클라우드에서 달력 정렬하기

오래전 구글캘린더와 태스크를 떠나면서 오운클라우드로 옮긴 적이 있었다. 그러다 넥스트클라우드로 다시 갈아 탔었다. 일정을 생성할 때 개인 달력인 Personal이 항상 먼저 떴었는데 언제부터인지 모르게 다른 달력이 기본으로 선택되기 시작했다. 보통안 스마트폰으로 일정을 생성하기에 언제부터 이런 문제가 생겼는지는 확실하지 않다. 아무튼 이 귀찮은 문제를 해결하기 위해 검색을 하던 중 이 쓰레드를 찾았다. oc_calendars 데이타베이스 테이블에 calendarorder라는 필드가 있다는 걸 알았다. 데이타베이스에 연결한 후 이 값들을 확인해 봤다.

nextcloud=# select * from oc_calendars where principaluri like '%/hcho';
 id |        principaluri         |    displayname    |        uri        | synctoken | description | calendarorder | calendarcolor | timezone |  components  | transparent 
----+-----------------------------+-------------------+-------------------+-----------+-------------+---------------+---------------+----------+--------------+-------------
  1 | principals/users/hcho       | Holidays          | holidays          |         1 | Holidays    |             0 | #ffa500       |          | VEVENT,VTODO |           0
  2 | principals/users/hcho       | Personal          | personal          |        14 | Personal    |             0 | #001fffff     |          | VEVENT,VTODO |           0
  3 | principals/users/hcho       | Recurring         | recurring         |        15 | Recurring   |             0 | #CCCCCC       |          | VEVENT,VTODO |           0
  4 | principals/users/hcho       | Contact birthdays | contact_birthdays |         6 |             |             0 | #FFFFCA       |          | VEVENT       |           0
(4 rows)

모든 calendarorder 값이 0이었다. 그러니 select에서 출력되는 순서대로 달력을 출력했던 것이다. 이 값들을 원하는 순서대로 바꿔줬다.

nextcloud=# update oc_calendars set calendarorder=1 where principaluri like '%/hcho' and displayname='Personal';
nextcloud=# update oc_calendars set calendarorder=2 where principaluri like '%/hcho' and displayname='Holidays';
nextcloud=# update oc_calendars set calendarorder=3 where principaluri like '%/hcho' and displayname='Recurring';

생일달력은 읽기전용이라서 따로 그룹되어 있고 일정생성에 나타나지 않기 때문에 그냥 뒀다. 이제 Personal 달력이 일정생성시 기본달력으로 선택된다.

참고문헌

이 칸을 비워 두세요.