1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

[丁寧に解説] DDLファイルを使ってMySQLデータベースを共有する方法

Posted at

チーム開発の問題

チームでアプリ開発を行っている学生です。
先日こんなことがありました。
バックエンドを担当しているメンバーが、ローカルで作成したデータベースを共有したいと。
皆さんの解決方法を是非ご教授いただきたいのですが、私達は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の共有をする際の正しいやり方、デファクトスタンダードは存じ上げないので、もし他の方法があるなら教えて下さい。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?