*ブログに戻る →ここ です。
参考サイトは下記にリンクを張っています。

Rubyの学習 free228
マイグレーションン
モデル
これらはMySQLやSQLiteなどのデータベースに、
1、データーベース
2、テーブル
3、カラム
4、カラムのデータ型
をRubyから作成しようとする仕組みである。

Rubyから各種データベースにテーブルやカラムを作成するための統一規格としてマイグレーションンやモデルを使用した。

↓Rubyのプログラムを実行すると以下のように表示される。

Ruby on Rails で MySQL を連携させることが出来なかったので
SQLiteを使用することにする
尚、筆者はSQLiteの使い方をマスターしていないので出力が出来ない状況です
奮闘記としてのメモ








Monday,December,9,2013

プログラムの表示

アプリケーションを作る アプリケーション名 [sadachikasample_sqlite] cd C:\SadaData\rails C:\SadaData\rails>rails new sadachikasample_sqlite Railsでアプリケーションを作成する時に特に指定しなければSQLiteを使う前提で データベース設定ファイルが作成されます。 「config/database.yml」さくらエディタで開く --------------------------------------------------------------------- お手本の解説 development: 実行モードが開発の場合の設定を記載 test: 実行モードがテストの場合の設定を記載 production: 実行モードが本番の場合の設定を記載 設定ファイルで記載されている項目は次のとおりです。 adapter: 使用するデータベース database: データベースファイル名 pool: コネクションプーリングで使用するコネクションの上限 timeout: タイムアウトまでの時間(ms) --------------------------------------------------------------------- データベースを任意の名前に変更する (config/database.yml) development: adapter: sqlite3 database: db/development.sqlite3 ←ここ pool: 5 timeout: 5000 test: adapter: sqlite3 database: db/test.sqlite3 ←ここ pool: 5 timeout: 5000 production: adapter: sqlite3 database: db/production.sqlite3 ←ここ pool: 5 timeout: 5000 ------------------------------------------ development: adapter: sqlite3 database: db/sadachidevelopment.sqlite3 ←ここを編集 pool: 5 timeout: 5000 test: adapter: sqlite3 database: db/sadachitest.sqlite3 ←ここを編集 pool: 5 timeout: 5000 production: adapter: sqlite3 database: db/sadachiproduction.sqlite3 ←ここを編集 pool: 5 timeout: 5000 -------------------------------------------- 実際にデータベースを作成する コマンドプロンプト cd C:\SadaData\rails\sadachikasample_sqlite C:\SadaData\rails\sadachikasample_sqlite>rake db:create 開発用とテスト用の2つのデータベースが作成される ↓アプリケーション名 ↓データーベース名 (sadachikasample_sqlite/db/sadachidevelopment.sqlite3) ↓アプリケーション名 ↓データーベース名 (sadachikasample_sqlite/db/sadachitest.sqlite3) -------------------------------------------- ○モデルの作成(テーブル名) ○○モデルに対応するテーブルを作成するためのマイグレーションスクリプトを生成する rails generate model sadatitle(テーブル名) C:\SadaData\rails\sadachikasample_sqlite>rails generate model sadatitle invoke active_record create db/migrate/20131209061413_create_sadatitles.rb(複数形に) create app/models/sadatitle.rb invoke test_unit create test/models/sadatitle_test.rb create test/fixtures/sadatitles.yml 使わなくなったデーターベース削除したいのだがどうしればいいの? ------------------------------------------- マイグレーションスクリプト (db/migrate/20131209061413_create_sadatitles.rb)←増えた さくらエディタで開く class CreateSadatitles < ActiveRecord::Migration(複数形に) def change create_table :sadatitles do |t| t.timestamps end end end ----------------------------------------- (app/models/sadatitle.rb)←増えた さくらエディタで開く class Sadatitle < ActiveRecord::Base end ------------------------------------------ (test/models/sadatitle_test.rb)←増えた さくらエディタで開く require 'test_helper' class SadatitleTest < ActiveSupport::TestCase # test "the truth" do # assert true # end end ------------------------------------------- (test/fixtures/sadatitles.yml)←増えた(複数形に) さくらエディタで開く # Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html # This model initially had no columns defined. If you add columns to the # model remove the '{}' from the fixture names and add the columns immediately # below each fixture, per the syntax in the comments below # one: {} # column: value # two: {} # column: value ------------------------------------------ ○カラムを指定してモデルを作成する rails generate model モデル名 カラム名:データ型 カラム名:データ型 ... ファイルの型がわからないんで 中途半端に終わってるね 型を記載ししないと後から見返せないよね 2個目のテーブルをデータベース(sadachikasample_sqlite)内に作成します。 ↓テーブル名↓カラム名↓データ型↓カラム名↓データ型 rails generate model sadatitle2 atsuname:string atsusale_data:date C:\SadaData\rails\sadachikasample_sqlite> C:\SadaData\rails\sadachikasample_sqlite>rails generate model sadatitle2 atsuname:string atsusale_data:date invoke active_record create db/migrate/20131213021238_create_sadatitle2s.rb(複数形に) create app/models/sadatitle2.rb invoke test_unit create test/models/sadatitle2_test.rb create test/fixtures/sadatitle2s.yml(複数形に)カラムとデータを指定すると記載が全面的に変わる マイグレーションスクリプト (db/migrate/20131213021238_create_sadatitle2s.rb) class CreateSadatitle2s < ActiveRecord::Migration ←指定したテーブル名の後ろが複数形になり作成される def change create_table :sadatitle2s do |t| t.string :atsuname ←自動でカラム名とデータ型が記載される t.date :atsusale_data ←自動でカラム名とデータ型が記載される t.timestamps end end end (app/models/sadatitle2.rb)←増えた さくらエディタで開く class Sadatitle2 < ActiveRecord::Base ←任意の名前に指定したテーブル名が作成される end (test/models/sadatitle2_test.rb)←増えた さくらエディタで開く require 'test_helper' class Sadatitle2Test < ActiveSupport::TestCase # test "the truth" do # assert true # end end (test/fixtures/sadatitle2s.yml)←増えた(複数形に) さくらエディタで開く # Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html one: atsuname: MyString ←カラム名(atsuname)にデータ型(string)が追加される atsusale_data: 2013-12-13 ←カラム名(atsusale_data)にデータ(2013-12-13)そのものが追加された two: atsuname: MyString ←カラム名(atsuname)にデータ型(string)が追加される atsusale_data: 2013-12-13 ←カラム名(atsusale_data)にデータ(2013-12-13)そのものが追加された ------------------------------------------ モデルの削除(テーブルを作成する) rails destroy model モデル名(テーブル名) C:\SadaData\rails\sample_sqlite>rails destroy model title(テーブル名) (db/migrate/20131207160205_create_titles.rb)←消えた (app/models/title.rb)←消えた (create test/models/title_test/rb)←消えた (create test/fixtures/titles.yml)←消え ------------------------------------------- ここまでが前回までのおさらい アプリをアンインストールし再インストールしたのでどうかな? うまくいってるのかな? マイグレーションスクリプト (db/migrate/20131209061413_create_sadatitles.rb)←増えた さくらエディタで開く class CreateSadatitles < ActiveRecord::Migration(複数形に) def change create_table :sadatitles do |t| t.timestamps end end end #string型の「atsuname」カラムと、date型の「sasales_date」カラムを追加する場合以下のように加筆する。 さくらエディタで開く class CreateSadatitles < ActiveRecord::Migration(複数形に) def change create_table :sadatitles do |t| #コメントテスト複数形モデル名でありテーブル名である t.string :atsuname #コメントテストtの後ろがデータの型 t.date :atsusales_dat #コメントテストtの後ろがデータの型 t.timestamps end end end --------------------------------------------- マイグレーションスクリプトの実行 コマンドプロンプト rake db:migrate C:\SadaData\rails\sadachikasample_sqlite>rake db:migrate == CreateSadatitles: migrating ============== -- create_table(:sadatitles) -> 0.0000s == CreateSadatitles: migrated (0.0000s) ===== ---------------------------------------------- 作成されたテーブルとカラムの確認


*↓ 参考にしたサイトは下記
こちら です。

これは赤色の文字例です。

これは青色の文字例です。