まずデータベースを作成するにはmigrationファイルが必要なので、
artisanコマンドを利用してデータベースを生成するmigrationファイルを生成します。
migrationファイルとは
マイグレーションとはデータベースのバージョンコントロールのような機能です。
php artisan make:migration create_voting_table --create=voting
Created Migration: 2020_12_12_192229_create_voting_table
となると成功です。
これをやると、
プロジェクトフォルダ/database/migration/の下にファイルが生成されます。
今回はvoting_tableを生成したのでそれがmigrationファルダ内に作られています。
migrationフォルダ内には他にデフォルトでユーザーの管理用テーブルとパスワードテーブルが生成されています。
デフォルトというか、プロジェクトを生成した時点で作られます。
因みにファイルの中身は以下になります
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateVotingTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('voting', function (Blueprint $table) {
$table->id();
$table->string('name');←べた書きで加えました。
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('voting');
}
}
自身でテーブル内を書き加えました。
書き加えたら保存します。
そうしたらartisanコマンドでマイグレーションを実行します。
C:\neomediaproject>php artisan migrate
Illuminate\Database\QueryException
Database (\neomediaproject\database\database.sqlite) does not exist. (SQL: PRAGMA foreign_keys = ON;)
at C:\neomediaproject\vendor\laravel\framework\src\Illuminate\Database\Connection.php:678
674▕ // If an exception occurs when attempting to run a query, we'll format the error
675▕ // message to include the bindings with SQL, which will make this exception a
676▕ // lot more helpful to the developer instead of just the database's errors.
677▕ catch (Exception $e) {
➜ 678▕ throw new QueryException(
679▕ $query, $this->prepareBindings($bindings), $e
680▕ );
681▕ }
682▕
1 C:\neomediaproject\vendor\laravel\framework\src\Illuminate\Database\Connectors\SQLiteConnector.php:34
InvalidArgumentException::("Database (\neomediaproject\database\database.sqlite) does not exist.")
2 C:\neomediaproject\vendor\laravel\framework\src\Illuminate\Database\Connectors\ConnectionFactory.php:222
Illuminate\Database\Connectors\SQLiteConnector::connect()
ん?うまくいかないぞ、、
Database (\neomediaproject\database\database.sqlite) does not exist. (SQL: PRAGMA foreign_keys = ON;)
ここを見る限りファイルがないてきな感じかな
なので
>sqlite3 database.sqlite
ファイル作りました!!
んでもう一度artisanしてみます。
php artisan migrate
Migration table created successfully.
Migrating: 2014_10_12_000000_create_users_table
Migrated: 2014_10_12_000000_create_users_table (42.77ms)
Migrating: 2014_10_12_100000_create_password_resets_table
Migrated: 2014_10_12_100000_create_password_resets_table (23.43ms)
Migrating: 2019_08_19_000000_create_failed_jobs_table
Migrated: 2019_08_19_000000_create_failed_jobs_table (23.97ms)
Migrating: 2020_12_12_192229_create_voting_table
Migrated: 2020_12_12_192229_create_voting_table (9.82ms)
うまくいきました。