'SQLite3'에 해당되는 글 1건

  1. [2007/12/23] SQLite3 on Rails

SQLite3 on Rails

[Development]

Rails 2.0.2에서 기본 데이터베이스로 선택된 SQLite3 대해서 살펴보고, 간단한 블로그 어플리케이션을 만들어보자. 문서는 Windows 머신을 기본으로 작성되었다.


SQLite 환경 구축하기

Windows에서  SQLite 사용하기 위해서는 다음의 단계에 따라서 설치한다.


  1. SQLite 다운로드

SQLite 다운로드 페이지에서 sqlite-3_5_4.zip 파일과 sqlitedll-3_5_4.zip 파일을 다운로드 받는다.


  1. 압축풀기 설치

각각의 파일의 압축을 풀면 다음 파일들이 확인할 있다.

  • sqlite-3_x.zip : sqlite3.exe
  • sqlitedll-3_x.zip : sqlite3.def, sqlite3.dll

SQLite3 위한 폴더를 만들고 (ex. C:\Program Files\SQLite3) 파일들을 복사한다. SQLite3 폴더는 환경변수 PATH 등록되어 있어야 한다. (이도저도 귀찮으면 그냥 C:\Windows\System32 복사해도된다.)


  1. Gem 설치

sqlite3-ruby gem 설치한다.

 

sqlite3-ruby gem 설치

sqlite3-ruby gem 설치



블로그 어플리케이션 만들기

SQLite3 사용해서 간단한 블로그 어플리케이션을 만들어보자.


  1. 프로젝트 생성

Rails 2.0.2 이전에는 "rails myapp" 라는 명령어를 실행시키면, config/database.yml MySQL 설정되었다. 그러나 SQLite3 기본 데이터베이스로 변경되면서 새로운 프로젝트를 생성하면 config/database.yml 다음과 같이 설정된다.

 

config/database.yml

config/database.yml


MySQL 기본 데이터베이스로 했을 경우에는 Rails 프로젝트의 생성과는 별도로 데이터베이스 생성(CREATE DATABASE) 권한 설정(GRANT) 해주어야만 했다. 하지만 SQLite3 DB 파일은 자동으로 생성되기 때문에, 데이터베이스 생성이나 권한 설정 작업이 필요없이 바로 개발을 시작할수 있다.


cf. 만약 예전처럼 MySQL 기본 데이터베이스로 사용하고 싶다면, "rails -d mysql myapp" 같이 프로젝트 생성시, 데이터베이스를 명시해주어야 한다.



  1. Scaffold 생성

위에서 언급하였듯이, SQLite3 데이터베이스 파일은 자동으로 생성되기 때문에, 바로 migration 생성해서 적용할 있다. 위의 config/database.yml 같이 설정되어있다면 db/development.sqlite3라는 파일이 생성되게된다. 여기서는 Post 대한 scaffold resource 생성한 , migration 적용해보자.

 

scaffold 생성

scaffold 생성


  1. 생성된 테이블 확인

sqlite3라는 커맨드라인 유틸리티를 이용해서 생성된 테이블을 확인하고, SQL문을 실행할 있다. (현재는 테이블에 레코드가 들어있지 않는 상태이다.)

 

sqlite3 커맨트라인 유틸리티

sqlite3 커맨트라인 유틸리티


  1. 어플리케이션 확인

서버를 시작하고, 방금 작성한 어플리케이션을 확인하다.


  1. 글쓰기 페이지 (http://localhost:3000/posts/new)

 

글쓰기 페이지


  1. 글보기 페이지 (http://localhost:3000/posts/1)

 

글보기 페이지


  1. 글목록 페이지 (http://localhost:3000/posts)

 

글목록 페이지



결론

Rails 소개에서 지겹도록(?) 나오는 블로그 어플리케이션 만들기를 통해서 SQLite3 사용법을 살펴보았다. 15 만에 블로그 만들기 Rails 처음 접하는 사람에게 Rails 매력을 보여주기 충분한 예제이다. 이것이 Scaffold, Resource 개념이 추가되면서 점점 시간이 단축되더니, 이번에 Rails 2.0.2에서 SQLite3 기본 데이터베이스 엔진으로 선택되면서 1분만에 블로그 만들기 가능하게 되었다.


Ruby on Rails 공부하거나 내부적으로 사용되는 간단한 어플리케이션을 개발하는 용도라면 SQLite3 좋은 대안이 있을 것이다.



참조



2007/12/23 04:35 2007/12/23 04:35