elanbeat's wiki
TracksHowTo

Tracks


Ruby on RailsフレームワークによるGTD(Getting Things Done)ツール。

以降は118MをFedora Core4で動作させたときのメモ。

インストール

Ruby on Railsのインストール を済ませておく。利用する予定のデータベース用のライブラリもインストールしておく。


$ svn co --username=guest http://www.rousette.org.uk/svn/tracks-repos/trunk/tracks
$ cd track
track $cp config/database.yml.tmpl config/database.yml 
track $cp config/setting.yml.tmpl config/setting.yml 

設定

sqlite3の場合


tracks$ cat config/database.yml
development:
  adapter: sqlite3
  database: db/dev.sqlite3

test:
  adapter: sqlite3
  database: ":memory:" 

production:
  adapter: sqlite3
  database: db/prod.sqlite3


$ rake setup_tracks
$ rake migrate

MySQLの場合


$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 7 to server version: 4.1.16

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> CREATE DATABASE tracks;
Query OK, 1 row affected (0.76 sec)

mysql> GRANT ALL PRIVILEGES ON tracks.* TO yourmysqluser@localhost IDENTIFIED BY 'password-goes-here' WITH GRANT OPTION;

$ vi config/database.yml
$ cat config/database.yml
login: &login
  adapter: mysql
  #host: localhost
  username: yourmysqluser
  password: password-goes-here
  socket: /var/lib/mysql/mysql.sock

development:
  database: tracks
  <<: *login

test:
  database: tracks_test
  <<: *login

production:
  database: tracks
  <<: *login

$ rake setup_tracks

本来はこの後にmigrationを実行するが、118Mとmysql-4.1.16-1.FC4.1の組み合わせでは、以下のようにエラーで停止する。


$ rake migrate
(in /home/takahiro/rails/tracks)
rake aborted!
Mysql::Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''contexts' SET 'user_id' = 1' at line 1: UPDATE 'contexts' SET 'user_id' = 1;

db/migrate/2_add_user_id.rbのSQL文を以下のように修正する。


tracks$ diff db/migrate/2_add_user_id.rb.old db/migrate/2_add_user_id.rb.new
6,8c6,8
<     execute "UPDATE 'contexts' SET 'user_id' = 1;" 
<     execute "UPDATE 'projects' SET 'user_id' = 1;" 
<     execute "UPDATE 'todos' SET 'user_id' = 1;" 
---
>     execute "UPDATE contexts SET user_id = 1;" 
>     execute "UPDATE projects SET user_id = 1;" 
>     execute "UPDATE todos SET user_id = 1;" 


エラーになってしまった場合はデータベースを作りなおしてからmigrationを実行。


$rake migrate


アップデート

  1. 念のためディレクトリのバックアップをとっておく。
  2. データベースのバックアップをとる。

[tracks]$ svnversion .
181M
[tracks]$ svn info --username=guest http://www.rousette.org.uk/svn/tracks-repos/trunk/tracks
パス: tracks
URL: http://www.rousette.org.uk/svn/tracks-repos/trunk/tracks
リポジトリのルート: http://www.rousette.org.uk/svn/tracks-repos
...
[tracks]$ svn update
D    README_FIRST.txt
D    README
...
U    public/stylesheets/scaffold.css
リビジョン 202 に更新しました。

データベースを作りなおす。(todo)


[tracks]$ rake migrate

バックアップしておいたデータベースのデータを新しいデータベースにリストア。(todo)


実行


$ruby script/server -e production

http://yourtrackshost:3000/signupにアクセスし、adminアカウントを作成する。


使用

メモ

わかっている(が対処していない)問題