2011年05月16日

Rakeでデータベースを操作

前回のRakefileを改良して、MySQLとPostgreSQLの両方を操作できるRakefileを作成しました。
また、データベースの作成、削除以外でよく使用するデータベースの一覧表示やテーブルの一覧表示のタスクを追加しました。

WindowsとLinuxで同じRakefileを使用する

使用例

MySQLのデータベース一覧表示
$ rake mysql:databases
(in /home/uname/ruby/rake)
input database password
mysql -u root -e "show databases;"
+--------------------+
| Database |
+--------------------+
| information_schema |
| mydb_test |
| mysql |
| test |
| testdb |
+--------------------+


PostgreSQLでテーブルの一覧表示
$ rake psql:tables
(in /home/uname/ruby/rake)
input database password
psql -U postgres -d mydb_test -c "\d"
リレーションの一覧
スキーマ | 名前 | 型 | 所有者
----------+--------+----------+----------
public | access | テーブル | postgres
(1 行)


作成したRakefileのタスクの一覧は以下になります。
$ rake -T
(in /home/uname/ruby/rake)
rake mysql:create # create database
rake mysql:databases # show databases
rake mysql:desc[table_name] # describe table (mysql:desc[TABLENAME])
rake mysql:drop # drop database
rake mysql:exec[query] # execute query (mysql:exec["QUERY"])
rake mysql:migrate # migrate database
rake mysql:tables # show tables
rake psql:create # create database
rake psql:databases # show databases
rake psql:desc[table_name] # describe table (psql:desc[TABLENAME])
rake psql:drop # drop database
rake psql:exec[query] # execute query (psql:exec["QUERY"])
rake psql:migrate # migrate database
rake psql:tables # show tables (\d)

posted by jun1 at 00:29| Comment(0) | TrackBack(0) | ruby
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/45191088

この記事へのトラックバック