質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
phpMyAdmin

phpMyAdminはオープンソースで、PHPで書かれたウェブベースのMySQL管理ツールのことです。

Q&A

解決済

2回答

1413閲覧

phpMyadminとマイグレーションの違いについて

ashipen

総合スコア1

phpMyAdmin

phpMyAdminはオープンソースで、PHPで書かれたウェブベースのMySQL管理ツールのことです。

0グッド

0クリップ

投稿2021/06/23 10:27

前提・実現したいこと

最近PHP(laravel)でサイトを作りはじめました。

phpMyadminを使ってデータベースを作成しているのですが、
データベースの作成を調べているとマイグレーションファイルを使って作成しているのがほとんどです。
phpMyadminだとGUI上で簡単にデータベースを作成できるのに、どうしてマイグレーションが必要なのでしょうか
もしわかしましたら教えていただければ幸いです。
よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

理由は簡単です。
phpMyAdminは仰る通り、DBそのものをGUI上で操作するためのツールに過ぎません。
対してマイグレーションというのはDBのバージョン管理のための定義ファイルの集まりです。
(ソースコードもバージョン管理してますよね?Gitとか。あれのDB版です)
言い換えると、phpMyAdminのみで本番運用する場合、テーブルへの操作(カラム追加、削除等)を誰かが管理しないといけません。
(昔はALTER文を直接実行してからプログラムをアップロードするという原始的な方法を使ってました)
対してマイグレーションはプログラムで管理するのでヒューマンエラーを防止でき、かつ、前のバージョンに戻したいと思った時もコマンド一発で解決します。
Gitを使っていれば、ブランチを切り替えて、マイグレーションを前のバージョンに指定すれば、ものの1分で戻したり、最新にしたりと便利です。

さらに言えば、phpMyAdminを使うということはWEB上のどこかしらからアクセスすると思うので、セキュリティーリスクも伴います。
フルアクセス権限なんか持ってたら最悪ですね。
セキュリティーホールを突かれて簡単に乗っ取られますね。
なので、現在の現場ではめったにphpMyAdminは使われません。
(古いシステムならあるかもしれませんが)

投稿2021/06/23 11:49

deo_deo

総合スコア198

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ashipen

2021/06/23 14:13

回答ありがとうございます。 色々弊害があるんですね。 勉強になりました。 将来のことを考えてマイグレーション勉強します。
guest

0

サーバが1個しかなければ手作業のほうが速いですが、「開発者が何人もいて、それぞれのローカル環境に実行時とテスト用とデータベースがある」、そして「本番サーバ以外にもテストサーバが立っていて、それぞれにデータベースがある」というような、いくつもDBサーバのある環境になってきた場合に、手作業を何度も繰り返してはミスが出かねません。

マイグレーションは、データベースの構造もコードとして保存することで、容易に再現できるようにしています。

投稿2021/06/23 11:30

maisumakun

総合スコア145183

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ashipen

2021/06/23 14:14

回答ありがとうございます。 ただの趣味でやっていたもので考えが浅はかでした。 色々勉強したいと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問