学内向けにhyper-vのイメージを作成しましたお使いください
https://drive.google.com/file/d/1xrCoY-wniWxqJH8OgNRIUyptKZrW79nL
概要
『スッキリわかるSQL入門』の演習用データベースをローカル環境で動作させることができるskrsql
の環境構築について備忘録としてここに残します
なお、元のリポジトリは「第3版」用と記載されていますが、Makefileの中では「第4版」の演習SQLを参照するようになっております
参考:miyabilink/sukkiri-sql4-codes
学校が用意した環境ではなく、自分で構築しようと考える時点である程度の技術的素養がある方が対象だと思うので、説明は簡潔に進めます
本記事では Docker を使った構築方法には触れませんので、その点はあしからず
追記:GitHub Insightsを見たら学内チャットにリンクを貼った日に、クローン数が20を超えていて、とても嬉しかった
この事実だけで、私は救われた気がします
「もしかしたら、ほんの少しでも誰かの役に立てたのかも」と勘違いできるだけで、幸福です
ありがとう、そしてなんかごめん
優しく殺して
使用リポジトリ
元リポジトリ(オリジナル)
改良版(推奨)
※一部の不具合修正・Makefileの改善などを行ったフォークです。
必要なパッケージのインストール
ここではapt
を使いますが、他のディストリビューションでも基本的には対応可能です(たぶん)。
PostgreSQL,curl,make,git,unzipをインストール
sudo apt update
sudo apt install postgresql curl make git unzip -y
リポジトリのクローン
以下のいずれかをクローンしてください。
# オリジナル
git clone https://github.com/densuke/skrsql.git
# 改良版(推奨)
git clone https://github.com/yuu61/skrsql.git
cd skrsql
ディレクトリの作成とビルド
オリジナル版では/usr/local/share/ssql
ディレクトリが存在しないため、エラーが出ることがあります。あらかじめ作成
自分はこれでうまくいった
sudo mkdir -p /usr/local/share/ssql
次に、自分のユーザーでPostgreSQLを操作できるよう、ユーザーを作成します(まだ作っていない場合)
sudo -u postgres createuser -s "$(whoami)"
その後、ビルドとインストールを行います。
~/skrsql$ make
~/skrsql$ sudo make install
動作確認
適当にDBを起動してみます。以下のようにlist 1 1
コマンドを実行してみてください。
$ list 1 1
問題ファイル: pre_list0101.sql
NOTICE: database "Can" does not exist, skipping
--- psqlを起動しています: \q と入力すれば終了です ---
カーソルキーは使用できません。テキストエディタ等でコマンドを貼り付けて実行してください。
psql (16.8 (Ubuntu 16.8-0ubuntu0.24.04.1))
Type "help" for help.
Can=>
無事に psql が立ち上がれば成功です。お疲れ様でした。
余談
VirtualBOXよりHyper-VとかWSLの方がよくね?
VirtualBoxよりも軽いし起動も速くて個人的にはおすすめです
参考:起動ボタン押下からコマンド実行可能になるまでの時間
環境 | 起動時間 |
---|---|
VirtualBox | 65秒 |
Hyper-V | 12秒 |
WSL | 2秒 |
Hyper-Vは機能の有効化が必要だったり若干ハードルが高いけど既存の仮想マシンを配布できたりするならそっちの方が有用かも...?