본문 바로가기

CS/Flutter | Dart

캘린더 일정관리 앱 #5

schedules.dart
category_color.dart

스케줄 테이블과 카테고리 색상 테이블 작성해준다

drift 패키지를 이용하면 직접 sql에서 입력해주지 않아도 되는 게 신기하다

끝에 ()를 꼭 붙여줘야 하는 것도 신기..

 

integer().autoIncrement()() 에서 autoIncrement()는

중복되지 않도록 자동으로 숫자를 늘려주는 기능을 한다

1, 2, 3, ...

 

dateTime().clientDefault()에서 clientDefault()는

플러터 프레임워크에서 기본값으로 지정할 값을 말한다

 

 

 

drift_database.dart

import는 private 값을 불러올 수 없는데

part는 private 값도 불러올 수 있다

part로 불러오면 실제로 다른 파일에 있어도 시스템에서는 같은 파일로 인식한다

 

part 'drift_database.g.dart';

파일 이름과 확장자 사이에 g를 붙여준다

g: generate

자동으로 해당 파일이 생성되어 만들어진다(공짜 코드....ㄱㅇㄷ)

 

Future<int> createSchedule(SchedulesCompanion data) =>
    into(schedules).insert(data);

insert하면 자동으로 id값 리턴받을 수 있다

-> 값 받아올 때 id는 써주지 않아도 리턴된다

 

 

 

drift_database.dart

int get schemaVersion => 1;

db 구조 자체가 바뀔 때(table 값 변경할 때마다) 스키마 버전 올려줘야함
스키마 버전은 1부터 시작한다

 

 

 

.g.dart 파일 생성하려면

flutter pub run build_runner build

터미널 명령어 기억해두고 쓰자!

 

 

 

main.dart

데이터베이스 가져와준다

 

db안에 색을 가져온다

없으면 for loop 돌면서 색상 데이터들을 넣어준다

 

 

 

print("------get colors------");
print(await database.getCategoryColors());

우움 잘 가져와진다

 

 

 

 

 

 

 

 

 

'CS > Flutter | Dart' 카테고리의 다른 글

캘린더 일정관리 앱 #7  (0) 2023.08.23
캘린더 일정관리 앱 #6  (16) 2023.08.22
캘린더 일정관리 앱 #4  (12) 2023.08.18
캘린더 일정관리 앱 #3  (12) 2023.08.18
캘린더 일정관리 앱 #2  (12) 2023.08.17

Tiny Star