## contents

## 環境構築

Vagrant 環境構築

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

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 インストール

$ 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

$ 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
$ rbenv install -l
$ 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 インストール

$ gem install activerecord -N

SQLite インストール

$ gem install sqlite3 -N

## データベースを作成

$ cat import.sql
create table users (
  id integer primary key,
  name text,
  age integer,
  created_at,
  updated_at
);
$ 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 を利用してレコードを挿入

$ 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)
$ ruby main.rb
$ 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
sqlite> delete from users;
sqlite> .exit

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS