#contents ** Vagrant 環境構築 [#l6241d1c] - VirtualBox バージョン: 6.1.8 r137981 (Qt5.6.3) - Vagrant バージョン: 2.2.9 - Vagrant Box: https://app.vagrantup.com/ubuntu/boxes/xenial64/versions/20200513.0.0 - Vagrantfile config.vm.box = "ubuntu/xenial64" config.vm.box_version = "20200513.0.0" config.vm.network "private_network", ip: "192.168.33.10" - ローカル環境作成&接続 $ vagrant up $ vagrant ssh - OS バージョン確認 vagrant@ubuntu-xenial:~$ cat /etc/os-release NAME="Ubuntu" VERSION="16.04.6 LTS (Xenial Xerus)" ID=ubuntu ID_LIKE=debian PRETTY_NAME="Ubuntu 16.04.6 LTS" VERSION_ID="16.04" HOME_URL="http://www.ubuntu.com/" SUPPORT_URL="http://help.ubuntu.com/" BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/" VERSION_CODENAME=xenial UBUNTU_CODENAME=xenial $ sudo apt-get update -y ** rbenv インストール [#sd5cc166] - [[推奨関連パッケージ:https://github.com/rbenv/ruby-build/wiki]]をインストール $ sudo apt-get install autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm6 libgdbm-dev libdb-dev $ sudo apt-get install -y gcc g++ make - rbenv, ruby-build インストール $ git clone https://github.com/rbenv/rbenv.git ~/.rbenv $ git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build $ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile $ source ~/.bash_profile $ rbenv init # Load rbenv automatically by appending # the following to ~/.bash_profile: eval "$(rbenv init -)" $ echo 'eval "$(rbenv init -)"' >> ~/.bashrc $ source ~/.bashrc $ curl -fsSL https://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-doctor | bash - インストール可能な Ruby バージョン一覧確認 $ rbenv install -l - Ruby 2.7.1 (最新安定版) インストール $ rbenv install 2.7.1 $ rbenv global 2.7.1 $ ruby -v ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x86_64-linux] ** Active Record インストール [#jcfbe14c] $ gem install activerecord -N ** SQLite インストール [#i6be5760] $ gem install sqlite3 -N ** データベースを作成 [#u6d07537] - import.sql ファイル作成 $ cat import.sql create table users ( id integer primary key, name text, age integer, created_at, updated_at ); - SQLite データベース作成 $ sqlite3 myapp.db < import.sql $ sqlite3 myapp.db sqlite> .schema CREATE TABLE users ( id integer primary key, name text, age integer, created_at, updated_at ); sqlite> .exit ** Active Record を利用してレコードを挿入 [#c80c8640] - main.rb ファイル作成 $ cat main.rb require 'active_record' require 'pp' require "active_support/all" Time.zone_default = Time.find_zone! 'Tokyo' ActiveRecord::Base.default_timezone = :local ActiveRecord::Base.establish_connection( "adapter" => "sqlite3", "database" => "./myapp.db" ) class User < ActiveRecord::Base end # insert user = User.new user.name = "tanaka" user.age = 23 user.save user = User.new(name: "hayashi", age: 25) user.save user = User.create(name: "hoshi", age: 22) - main.rb 実行 (レコード挿入) $ ruby main.rb - DB レコード確認 $ sqlite3 myapp.db sqlite> select * from users; 1|tanaka|23|2020-05-17 11:14:06.044634|2020-05-17 11:14:06.044634 2|hayashi|25|2020-05-17 11:14:06.056054|2020-05-17 11:14:06.056054 3|hoshi|22|2020-05-17 11:14:06.059109|2020-05-17 11:14:06.059109 - レコード削除 - DB レコード削除 sqlite> delete from users; sqlite> .exit