用途
新着
履歴
言語

Laradockでmysqlのtableを準備する

Laradockでmysqlのtableを準備する
Laradockでmysqlのtableを準備する

laradockで環境を起動

docker-compose up -d nginx mysql redis beanstalkd

DBの作成

mysqlのDBを作成する

(初めていじるかたは、近隣のDBをバックアップをとっておくこと。

MySQLコンテナに入る

docker exec -it laradock_mysql_1 /bin/bash

バージョンを確認

mysql --version

ログインの初期設定

mysql -udefault -psecret

データベースの確認

show databases;

デーブルの確認

show tables;

dbをつくる場合

mysql> create database hoge;
ERROR 1044 (42000): Access denied for user 'default'@'%' to database 'hoge'

初期のDBを作るときは以下記述する

/laradock/mysql/docker-entrypoint-initdb.d/createdb.sql.example
/laradock/mysql/docker-entrypoint-initdb.d/createdb.sql

最初にMySQLコンテナに入ってしまうと

~/.lardock/data/mysql

ここにデータが保持されるらしい、なので消す。

rm -rf ~/.lardock/data/mysql

mysqlを立ち上げなおす

docker-compose up -d mysql

そしてコンテナから入り直すとDBが作成されているはず。

tableの作成

ワークスペースに入る

docker exec -it laradock_workspace_1 bash

migrationファイルを作成

/var/www# php artisan make:migration create_test_db_table

スキーマのカラムタイプをいろいろ変えたいときはこちらを参照。

作りたいテーブル定義に編集してmigrationを実行

root@b17755e83e64:/var/www# php artisan migrate

エラー

PDOException::("SQLSTATE[HY000] [2002] Connection refused")

このようなエラーが出たときは、接続に失敗しているので
laravelプロジェクト配下の.envのmysql情報を
laradock配下の.envのmysql情報に合わせて変更する必要がある。

修正が完了したら再度

php artisan migrate

で実行。

上記で間違った内容で実行してしまい、migrateファイルを編集して再度トライしても

Nothing to migrate.

となってしまう

一つ前にもどすなら

php artisan migrate:rollback

最新の状態に再度実行なら

php artisan migrate:refresh

同じ設定のテーブルを変更して再度実行すると、既に存在するのでエラーになる場合

テーブルを捨てて作り直すのであれば

php artisan migrate:fresh

この際、.env設定ファイルを間違えるとDBが全て消えるので注意すること。

公開 : 2019-07-28 01:20:18
LINEでシェア
このページの二次元コード

関連するサンプル

search -  category -  about
© 2019 kipure
Top