質問するログイン新規登録
Cloud9

Cloud9は、クラウドからのプログラミングが可能になるWebサービス。IDEとしての機能が搭載されており、GitHubやHerokuなど他ツールとの連携も可能です。ブラウザ上で動くため、デバイスに関係なく開発環境を準備できます。

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

385閲覧

【Laravel】seedをherokuにマイグレーションしたいです。

Java_student

総合スコア87

Cloud9

Cloud9は、クラウドからのプログラミングが可能になるWebサービス。IDEとしての機能が搭載されており、GitHubやHerokuなど他ツールとの連携も可能です。ブラウザ上で動くため、デバイスに関係なく開発環境を準備できます。

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2024/05/15 22:15

編集2024/05/16 07:09

0

0

実現したいこと

Herokuにseederファイルのマイグレーションを行いたいのですが、マイグレーションの方法が分かりません。
調べたりしているのですが検索の仕方が悪いのか、これっていう情報が出てきません。

前提

データベースのマイグレーションは出来ています。

該当のソースコード

DatabaseSeeder

1<?php 2 3namespace Database\Seeders; 4 5// use Illuminate\Database\Console\Seeds\WithoutModelEvents; 6use Illuminate\Database\Seeder; 7 8class DatabaseSeeder extends Seeder 9{ 10 /** 11 * Seed the application's database. 12 */ 13 public function run(): void 14 { 15 $this->call(UsersTableSeeder::class); 16 // \App\Models\User::factory(10)->create(); 17 18 // \App\Models\User::factory()->create([ 19 // 'name' => 'Test User', 20 // 'email' => 'test@example.com', 21 // ]); 22 } 23} 24

UsersTableSeeder

1<?php 2 3namespace Database\Seeders; 4 5use Illuminate\Database\Console\Seeds\WithoutModelEvents; 6use Illuminate\Database\Seeder; 7use App\Models\User; 8 9class UsersTableSeeder extends Seeder 10{ 11 /** 12 * Run the database seeds. 13 */ 14 public function run(): void 15 { 16 User::create([ 17 'id' => 1, 18 'name' => '*****', 19 'email' => '***************', 20 'password' => '***********', 21 'admin' => 1, 22 ]); 23 } 24} 25

試したこと

heroku run php artisan migrate:refresh --seedを試したところ
INFO Seeding database.と表示されたので登録できたかを確認したところ、マイグレーション出来ていませんでした。

補足情報(FW/ツールのバージョンなど)

PHP8
Laravel10

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

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

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

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

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

Eggpan

2024/05/16 02:35

DatabaseSeederも提示してください。UsersTableSeeder を呼び出していない可能性がありますので
Java_student

2024/05/16 02:52

DatabaseSeederも追記させて頂きました。
guest

回答1

0

ベストアンサー

ドキュメントには下記が記述されています。

the db:seed command runs the Database\Seeders\DatabaseSeeder class,
対して、DatabaseSeederには何も実装が無いようです。

  1. php artisan migrate:fresh --seed --seeder=UsersTableSeeder でSerder指定して実行する
  2. DatabaseSeeder で UserTableSeederをcallする (コード例はドキュメントに書いているので割愛)

参考:
公式ドキュメント
https://laravel.com/docs/11.x/seeding#running-seeders

日本語訳
https://readouble.com/laravel/10.x/ja/seeding.html#:~:text=%3A%3Aclass%2C%0A%20%20%20%20%20%20%20%20%5D\)%3B%0A%20%20%20%20%7D%0A%7D-,%E3%82%B7%E3%83%BC%E3%83%80%E3%81%AE%E5%AE%9F%E8%A1%8C,-db%3Aseed%20Artisan

投稿2024/05/16 03:06

Eggpan

総合スコア3301

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

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

Java_student

2024/05/16 07:11

記述も代えさせて頂き質問にも現在のコードを記載させて頂いき下記のエラーが発生されたのですが、こちらはseederファイルの記述がいけなかったのでしょうか? Call to undefined function Termwind\ValueObjects\mb_strimwidth() at vendor/nunomaduro/termwind/src/ValueObjects/Styles.php:1053 1049▕ */ 1050▕ private static function trimText(string $text, int $width): string 1051▕ { 1052▕ preg_match_all(self::STYLING_REGEX, $text, $matches, PREG_OFFSET_CAPTURE); ➜ 1053▕ $text = rtrim(mb_strimwidth(preg_replace(self::STYLING_REGEX, '', $text) ?? '', 0, $width, '', 'UTF-8')); 1054▕ 1055▕ foreach ($matches[0] ?? [] as [$part, $index]) { 1056▕ $text = substr($text, 0, $index).$part.substr($text, $index, null); 1057▕ } +4 vendor frames 5 [internal]:0 Termwind\Components\Element::__toString() +7 vendor frames 13 database/seeders/DatabaseSeeder.php:15 Illuminate\Database\Seeder::call("Database\Seeders\UsersTableSeeder")
Eggpan

2024/05/16 07:15

mb_strimwidth() が見つからない、と出てますが調べましたか? mbstring拡張入ってないとかな気がしますが、環境が不明ですから正確なところは分かりません
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.30%

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

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

質問する

関連した質問