Laravelを立ち上げて使用するのに問題があります。データベース(MySQL)でエラーが発生しますが、修正方法がわかりません。この単純な移行を作成して、曲のテーブルを作成しました。
<?php
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateSongsTable extends Migration
{
// Run the migrations.
public function up()
{
Schema::create('songs', function (Blueprint $table) {
$table->increments('id');
$table->string('title'); /* <- Here is the title column */
$table->text('lyrics')->nullable();
$table->timestamps();
});
}
// Reverse the migrations.
public function down()
{
Schema::drop('songs');
}
}
それから私はそれを移行します、そしてすべてがうまく働いているようです。
$ php artisan migrate
Migrated: 2015_07_14_150540_create_songs_table
しかし、何かを挿入しようとすると、エラーが表示されます。タイトル列が欠落していると表示されますが、上記のコードで確認できる限り、タイトル列があるはずです。それ以外の場合はエラーは発生しません。
$ php artisan tinker
Psy Shell v0.5.1 (PHP 5.5.24 — cli) by Justin Hileman
>>> DB::table('songs')->insert([ 'title' => 'Fall',
'created_at' => new DateTime, 'updated_at' => new DateTime]);
Illuminate\Database\QueryException with message 'SQLSTATE[42S22]:
Column not found: 1054 Unknown column 'title' in 'field list'
(SQL: insert into `songs` (`title`, `created_at`, `updated_at`)
values (Fall, 2015-07-14 15:14:10, 2015-07-14 15:14:10))'
編集:phpMyAdminでデータベースを見ると、テーブルはありますが、タイトル列がありません。これが私が得るものです:
どこが間違っているのですか?
テーブルはデータベースに移行されていません。
使ってください
php artisan migrate:refresh
テーブルを元に戻すには
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加