チーム開発の問題
チームでアプリ開発を行っている学生です。
先日こんなことがありました。
バックエンドを担当しているメンバーが、ローカルで作成したデータベースを共有したいと。
皆さんの解決方法を是非ご教授いただきたいのですが、私達はDDLファイルを使っての共有を行いました。
DDLとは
データ定義言語(Data Definition Language, DDL)は、コンピュータ利用者あるいはアプリケーションソフトウェアが、コンピュータのデータを定義するコンピュータ言語もしくはコンピュータ言語要素である。
つまり、DDLファイルとはデータベースを定義するためのコンピュータ言語を記入したファイルのことになります。
データベースの共有
このファイルをアプリケーションのディレクトリに配置し、Gitなどで管理すればメンバーへの共有が簡単に行えます。
ただのファイルですから、通常のコードと扱いは同じです。
実行環境
####OS: Windows
####コンソール : Git Bash
####DB : MySQL( Server version: 8.0.22 )
####共有 : Git
参考記事 + やること
[MySQLでファイルからSQLを実行する] (https://qiita.com/IysKG213/items/994e9f4ad12ff8aee322)
今回は、上記のQiitaの記事を参考に行わせて頂きました。
この記事では、以下の手順を解説いたします。
####1. DDLファイルの作成
####2. DDLファイルの実行
####3. コードの共有 (Gitの解説になるので、割愛)
やりかた
###1. DDLファイルの作成
/* DBの作成*/
CREATE DATABASE testdb;
/* テーブルの作成 */
CREATE TABLE testdb.user(
ID int,
name varchar(10),
mail varchar(20)
);
/* テーブルへのデータ追加 */
insert into testdb.user values(1, 'test1', 'test1@abc.co.jp');
insert into testdb.user values(2, 'test2', 'test2@abc.co.jp');
insert into testdb.user values(3, 'test3', 'test3@abc.co.jp');
※DDLファイルにコメントを追加する際は、//ではなく、/**/を使わないとコメントと認識しないのでご注意を!
####このファイルは、setup_db.ddlというファイル名で保存します。
###2.DDLファイルの実行
さぁ、作ったDDLファイルを実行してみよう!
準備
- MySQLをPCにインストール
- コンソールにパスを通す
- コンソール上で、先程作ったDDLファイルがあるディレクトリに移動する。
####実行
mysql -u root -p < setup_db.ddl
ログインする時に使ういつものコマンドに、「<」、ファイル名を連結する。
このあとにパスワードを入力し、何のメッセージも返ってこなかったら成功!
#コードの共有
通常のファイルと同じ扱いができるので、Gitで管理しているディレクトリにファイルを追加して、PUSHすれば共有完了です。
#まとめ
今回は、間接的な意味でDBの共有の仕方について解説させていただきました。
DBの共有をする際の正しいやり方、デファクトスタンダードは存じ上げないので、もし他の方法があるなら教えて下さい。