【CUIアプリケーション】RubyからMySQLを使って勤怠管理アプリを作ってみた

Not image

「Ruby on RailsからMySQLを使うことはあるけど、RubyからもMySQLを使ってみたい!」

そんなことを考えたことがありませんか?

Ruby on RailsはRubyあっての技術なので、上記のように考える人も結構いるのではないでしょうか?

私自身も「Ruby on Railsを使う上で、RubyからもMySQLを使ってみたい」と思った一人です。。

そこで今回は、RubyからMySQLを使う方法をまとめていきます。

ただMySQLを使うだけでは面白くないと思ったので、簡単な勤怠管理アプリを作ることにしました。

勤怠情報を登録することを通して、MySQLを触る方法を紹介していこうと思います。

また勤怠管理アプリと言っても、コマンドラインインターフェース(いわゆる黒い画面)ですので悪しからず・・・orz

 事前準備

今回はMySQLとRubyをインストール済みであることが前提です、話を進めていきます。

まだ準備していない方は、準備をよろしくお願いします。

一応、RubyとMySQLのインストール方法は、下にまとめてあるので参考にしてみてください。

【Mac版】Rubyのインストール方法【全4ステップ】

2018.09.14

【Windows版】Rubyのインストール方法【全3ステップ】

2018.09.15

【Mac向け】MysqlをHomebrewでインストール・初期設定までの手順

2018.10.10

RubyからMySQLを使って勤怠管理アプリを作る手順

1.Gemをインストールする

Gemfileを作成して、以下のような文言を追加してください。

gem 'mysql2'

そして「bundle install」でgemをインストールしましょう。

2.MySQLを使えるか確認

今回MySQLを使うためのRubyファイルを作成します。

新規データベースの作り方は、以下の記事を参照してみてください。

【新規・途中採用】RailsのDBにMySQLを使う手順

2018.10.11

そして以下のような内容を先ほど作ったRubyファイルに書いて、実行します。

MySQLが使えるか確認できたら次へ進みましょう。

3.MySQLにテーブルを用意する

先ほど作ったデータベースにテーブルを作成します。

今回は以下のようなテーブル構造にします。

テーブル構造
  • id                            = IDカラム
  • attendance_time   = 出勤した時間のカラム
  • leave_office_time  = 退勤した時間のカラム
  • created_at              = レコードを挿入した時間のカラム
  • attendance_status = 出退勤の状態を管理するカラム

MySQLにログインして以下のコマンドを実行してください。すると、テーブルが作成できます。

4.プログラムを書く

一気にプログラムの記述が多くなりますが、以下のように書くと勤怠管理アプリが作成できます。

今回はRubyからMySQLを操作するというのが主題なので、その部分だけ抽出して説明していきます。

gemを使っているので、以下のような記述をするとRuby上からSQL文を実行できます。

client.query("SQL文")

5.動作確認

「4.プログラムを書いていく」でプログラムを書いたファイルを実行すると、勤怠管理アプリがコマンドライン上で実行されます。

数字で操作していくと、勤怠が管理できていると思います。

何回か出退勤の操作を行ってみて、MySQL上でSELECT * FROM attendance;のようなコマンドを実行すると、レコードが追加されていることが確認できます。

まとめ

勤怠管理アプリを作成する過程でMySQLを使うことができました。

Ruby on RailsからMySQLを使うことはあっても、RubyからMySQLを使うことは意外に無かったのではないでしょうか?

今回の学習を通して、Ruby on Railsの裏側を垣間見ることができたのではないでしょうか?

今回作ったのは勤怠管理アプリでしたが、自分で他のアプリを作ることでさらに理解が深まると思います。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です