質問編集履歴

5

編集追記4を追記

2020/07/16 14:33

投稿

capyasutti
capyasutti

スコア1

test CHANGED
File without changes
test CHANGED
@@ -465,3 +465,13 @@
465
465
 
466
466
 
467
467
  以上
468
+
469
+
470
+
471
+ #### 編集追記4
472
+
473
+ Laravelのバージョンを6.xでプロジェクトを作成してみましたが結果は同じでした。
474
+
475
+
476
+
477
+ `composer create-project laravel/laravel=6.* --prefer-dist BookManager`

4

追記編集3の修正

2020/07/16 14:33

投稿

capyasutti
capyasutti

スコア1

test CHANGED
File without changes
test CHANGED
@@ -410,8 +410,6 @@
410
410
 
411
411
  しかし、結果としては同じ結果となりました。。
412
412
 
413
- 一応、Laravelプロジェクト作成時の内容も添付しておきます。
414
-
415
413
 
416
414
 
417
415
  (1) Laravelプロジェクト作成

3

追記編集3を追加

2020/07/16 14:11

投稿

capyasutti
capyasutti

スコア1

test CHANGED
File without changes
test CHANGED
@@ -399,3 +399,71 @@
399
399
 
400
400
 
401
401
  以上
402
+
403
+
404
+
405
+ #### 編集追記3
406
+
407
+ 上記で問題が発生しているLaravelプロジェクトですが、プロジェクト作成後は標準の認証機能
408
+
409
+ の導入など行っており、問題の切り分けを行う為に、一度、同じ手順(コマンド)で別のプロジェクトを作成しました。
410
+
411
+ しかし、結果としては同じ結果となりました。。
412
+
413
+ 一応、Laravelプロジェクト作成時の内容も添付しておきます。
414
+
415
+
416
+
417
+ (1) Laravelプロジェクト作成
418
+
419
+ `composer create-project laravel/laravel --prefer-dist BookManager`
420
+
421
+
422
+
423
+ (2) .envのDB接続情報を設定
424
+
425
+ ```
426
+
427
+ DB_CONNECTION=mysql
428
+
429
+ DB_HOST=127.0.0.1
430
+
431
+ DB_PORT=3306
432
+
433
+ DB_DATABASE=laraveldb
434
+
435
+ DB_USERNAME=test_user
436
+
437
+ DB_PASSWORD=******
438
+
439
+ ```
440
+
441
+
442
+
443
+ (3) booksテーブルのマイグレーションファイル作成
444
+
445
+ `php artisan make:migration create_books_table --create=books`
446
+
447
+ <実行後>
448
+
449
+ ![イメージ説明](f28c57c7f0fc8c1095af624379a73871.jpeg)
450
+
451
+
452
+
453
+
454
+
455
+ (4) マイグレーション実施
456
+
457
+ `php artisan migrate`
458
+
459
+ <実行後>
460
+
461
+ ![イメージ説明](7f109670a9c7a6b759bdbe3a75a53b76.jpeg)
462
+
463
+ ![イメージ説明](8fb5fe5c5d115bcce6ffe9a9be7c6054.jpeg)
464
+
465
+ ![イメージ説明](95153a13ac9c17f4cbc53f13631d449a.jpeg)
466
+
467
+
468
+
469
+ 以上

2

編集追記2の追記

2020/07/16 14:06

投稿

capyasutti
capyasutti

スコア1

test CHANGED
File without changes
test CHANGED
@@ -243,3 +243,159 @@
243
243
  どこかにマイグレーション対象数を持っている?
244
244
 
245
245
  ![イメージ説明](2245c8911d92a22400ee53a06f9b9f2c.jpeg)
246
+
247
+
248
+
249
+ #### 編集追記2
250
+
251
+ MySQLに別名のデータベースを作成し、そちらに対しマイグレーションを実施しましたが、
252
+
253
+ 結果としては編集追記1に記載した内容と同様となりました。
254
+
255
+
256
+
257
+ 行った作業は以下になります。
258
+
259
+
260
+
261
+ (1) MySQLにrootユーザーでログイン
262
+
263
+ (2) データベース(laraveldb)の作成
264
+
265
+ `CREATE DATABASE laraveldb CHARACTER SET utf8;`
266
+
267
+ (3) test_userに全権限を付与 (test_userは既存ユーザー)
268
+
269
+ `grant all on laraveldb.* to test_user;`
270
+
271
+ (4) .envのDB接続情報を下記の通り修正
272
+
273
+
274
+
275
+ 実際には"DB_DATABASE"を "laravel_testdb" → "laraveldb"に変更
276
+
277
+ ```
278
+
279
+ DB_CONNECTION=mysql
280
+
281
+ DB_HOST=127.0.0.1
282
+
283
+ DB_PORT=3306
284
+
285
+ DB_DATABASE=laraveldb
286
+
287
+ DB_USERNAME=test_user
288
+
289
+ DB_PASSWORD=******
290
+
291
+ ```
292
+
293
+
294
+
295
+ (5) laraveldbのテーブル数を確認
296
+
297
+
298
+
299
+ テーブル数=0
300
+
301
+ ![イメージ説明](f0b04419152cef1b1f43dd16162bb33b.jpeg)
302
+
303
+
304
+
305
+ (6) マイグレーション実施
306
+
307
+ `php artisan migrate`
308
+
309
+  → エラー (DB接続先の変更が反映されていない模様)
310
+
311
+ ```
312
+
313
+ SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'testdata' already exists (SQL: create table `testdata` (`id` bigint unsigned not null auto_increment primary key, `created_at` timestamp null, `updated_at` timestamp null) default character set utf8mb4 collate 'utf8mb4_unicode_ci')
314
+
315
+ ```
316
+
317
+
318
+
319
+ (7) configのキャッシュクリア
320
+
321
+ `php artisan config:clear`
322
+
323
+
324
+
325
+ (8) マイグレーション実施
326
+
327
+ `php artisan migrate`
328
+
329
+ → 成功
330
+
331
+ ```
332
+
333
+ Migration table created successfully.
334
+
335
+ Migrating: 2014_10_12_000000_create_users_table
336
+
337
+ Migrated: 2014_10_12_000000_create_users_table (1.49 seconds)
338
+
339
+ Migrating: 2014_10_12_100000_create_password_resets_table
340
+
341
+ Migrated: 2014_10_12_100000_create_password_resets_table (1.2 seconds)
342
+
343
+ Migrating: 2019_08_19_000000_create_failed_jobs_table
344
+
345
+ Migrated: 2019_08_19_000000_create_failed_jobs_table (0.71 seconds)
346
+
347
+ Migrating: 2020_07_14_133344_create_books_table
348
+
349
+ Migrated: 2020_07_14_133344_create_books_table (0.49 seconds)
350
+
351
+ Migrating: 2020_07_15_012531_create_testdata_table
352
+
353
+ Migrated: 2020_07_15_012531_create_testdata_table (0.79 seconds)
354
+
355
+ ```
356
+
357
+
358
+
359
+ (9) テーブル登録情報確認
360
+
361
+ ![イメージ説明](083a3972983ade847ada818031f217d2.jpeg)
362
+
363
+
364
+
365
+ (10) migrationsテーブル内容確認
366
+
367
+ → testdataテーブルのマイグレーションファイルが未登録
368
+
369
+ ![イメージ説明](878af5f3861cbb37ae65c8ed47748db4.jpeg)
370
+
371
+
372
+
373
+ (11) マイグレーションステータス確認
374
+
375
+ `php artisan migrate:status`
376
+
377
+ ```
378
+
379
+ +------+------------------------------------------------+-------+
380
+
381
+ | Ran? | Migration | Batch |
382
+
383
+ +------+------------------------------------------------+-------+
384
+
385
+ | Yes | 2014_10_12_000000_create_users_table | 1 |
386
+
387
+ | Yes | 2014_10_12_100000_create_password_resets_table | 1 |
388
+
389
+ | Yes | 2019_08_19_000000_create_failed_jobs_table | 1 |
390
+
391
+ | Yes | 2020_07_14_133344_create_books_table | 1 |
392
+
393
+ | No | 2020_07_15_012531_create_testdata_table | |
394
+
395
+ +------+------------------------------------------------+-------+
396
+
397
+ ```
398
+
399
+
400
+
401
+ 以上

1

「編集追記1」を追記

2020/07/15 08:03

投稿

capyasutti
capyasutti

スコア1

test CHANGED
File without changes
test CHANGED
@@ -227,3 +227,19 @@
227
227
 
228
228
 
229
229
  なお、usersテーブルに登録される内容をdd()で表示し、その内容を手動でusersテーブルに登録したところ、ログインは正常に機能していました。
230
+
231
+
232
+
233
+ #### 編集追記1
234
+
235
+ 作成されたマイグレーションファイルを無編集で使うとどうなるのか?っていうのを試すために、
236
+
237
+ `php artisan make:migration create_testdata_table --create=testdata`を実施し、
238
+
239
+ 一切の手を加えず`php artisan migrate`を実施したところ、一つ前に作成している"books"の
240
+
241
+ マイグレーションファイルはmigrationsに登録され、新規で作成した"testdata"分が未登録となりました。
242
+
243
+ どこかにマイグレーション対象数を持っている?
244
+
245
+ ![イメージ説明](2245c8911d92a22400ee53a06f9b9f2c.jpeg)