Я получаю ошибку Doctrine\DBAL\Schema\SchemaException : There is no column with name 'price' on table 'class_rooms'.
во время выполнения миграции, чтобы переименовать столбец price
в таблице class_rooms
моего приложения. Таблица создается с помощью миграции, которая выполняется перед миграцией с переименованием через файл миграции с именем 2019_03_13_054619_create_class_rooms_table
со следующим кодом
class CreateClassRoomsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('class_rooms', function (Blueprint $table) {
$table->uuid('id')->primary();
$table->uuid('yoga_style_id');
$table->date('start_date')->nullable();
$table->date('end_date')->nullable();
$table->time('duration_from')->nullable();
$table->time('duration_to')->nullable();
$table->string('name');
$table->bigInteger('price');
$table->longText('description')->nullable();
$table->string('image')->nullable();
$table->string('meta_title')->nullable();
$table->text('meta_description')->nullable();
$table->text('meta_keywords')->nullable();
$table->boolean('active')->default(true);
$table->softDeletes();
$table->timestamps();
$table->foreign('yoga_style_id')->references('id')->on('yoga_styles')
->onDelete('cascade');
}
);
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('class_rooms');
}
}
, как вы видите, здесь определен столбец цены. У меня установлена doctrine/dbal
и Laravel версия, которую я использую - 5.7. Переименование миграции выглядит следующим образом
class RenamePriceClassRoomsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('class_rooms', function (Blueprint $table) {
$table->renameColumn('price', 'cost_subscribed');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('class_rooms', function (Blueprint $table) {
//
});
}
}
Я получаю ошибку
Migrating: 2019_04_10_132923_rename_price_class_rooms_table
Doctrine\DBAL\Schema\SchemaException : There is no column with name 'price' on table 'class_rooms'.
at /Users/anadi/Code/new_web_app/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/SchemaException.php:82
78| * @return \Doctrine\DBAL\Schema\SchemaException
79| */
80| public static function columnDoesNotExist($columnName, $table)
81| {
> 82| return new self(
83| sprintf("There is no column with name '%s' on table '%s'.", $columnName, $table),
84| self::COLUMN_DOESNT_EXIST
85| );
86| }