Пытаюсь в миграции изменить свойство сущности, используя метод renameColumn()
/**
* @var string
*/
private static $ideasTableName = 'ideas';
/**
* Run the migrations.
*
* @return void
*/
public function up(): void
{
Schema::table(static::$ideasTableName, function (Blueprint $table) {
$table->renameColumn('period', 'lifeTime');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down(): void
{
Schema::table(static::$ideasTableName, function (Blueprint $table) {
$table->renameColumn('lifeTime', 'period');
});
}
После выполнения миграции, сущность поменялась, свойство period изменилось на lifeTime.
Но когда выполняю тесты уже с учетом нового свойства сущности, получаю :
Failed asserting that exception of type "Illuminate\Database\QueryException" matches expected exception "App\Services\Package\Exceptions\PackageHasIdeasException". Message was: "SQLSTATE[42703]: Undefined column: 7 ERROR: column "lifeTime" of relation "ideas" does not exist
LINE 1: ..."instrumentId", "priceFrom", "priceTo", "status", "lifeTime"...
^ (SQL: insert into "ideas" ("title", "creationDate", "description", "tradeDirection", "instrumentId", "priceFrom", "priceTo", "status", "lifeTime", "period", "stopLoss", "packageId", "risk", "performance", "likeNumber", "dislikeNumber", "comment", "imageUrl", "resourceId", "isFree", "openAtPrice", "takeProfitReachedId") values (Miss, 1066153944, Et tempora numquam consequatur. Ducimus et sunt ratione vel saepe., 1, 1, 0.3120795, 31.3925883, 0, 172800, 0, , 1, 0, 0, 3, 6, Eum dolor deleniti in hic sunt soluta itaque. Ipsum aut necessitatibus nam a., https://lorempixel.com/640/480/499023, 0, , , ?) returning "id")" at
/home/user/PhpstormProjects/RaddaR-crypto-back/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php:107
/home/user/PhpstormProjects/RaddaR-crypto-back/vendor/laravel/framework/src/Illuminate/Database/Connection.php:330
/home/user/PhpstormProjects/RaddaR-crypto-back/vendor/laravel/framework/src/Illuminate/Database/Connection.php:657
/home/user/PhpstormProjects/RaddaR-crypto-back/vendor/laravel/framework/src/Illuminate/Database/Connection.php:624
/home/user/PhpstormProjects/RaddaR-crypto-back/vendor/laravel/framework/src/Illuminate/Database/Connection.php:333
/home/user/PhpstormProjects/RaddaR-crypto-back/vendor/laravel/framework/src/Illuminate/Database/Connection.php:304
/home/user/PhpstormProjects/RaddaR-crypto-back/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/PostgresProcessor.php:20
/home/user/PhpstormProjects/RaddaR-crypto-back/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php:2294
/home/user/PhpstormProjects/RaddaR-crypto-back/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php:1285
/home/user/PhpstormProjects/RaddaR-crypto-back/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php:726
/home/user/PhpstormProjects/RaddaR-crypto-back/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php:691
/home/user/PhpstormProjects/RaddaR-crypto-back/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php:554
/home/user/PhpstormProjects/RaddaR-crypto-back/vendor/laravel/framework/src/Illuminate/Database/Eloquent/FactoryBuilder.php:195
/home/user/PhpstormProjects/RaddaR-crypto-back/vendor/laravel/framework/src/Illuminate/Support/Collection.php:375
/home/user/PhpstormProjects/RaddaR-crypto-back/vendor/laravel/framework/src/Illuminate/Database/Eloquent/FactoryBuilder.php:196
/home/user/PhpstormProjects/RaddaR-crypto-back/vendor/laravel/framework/src/Illuminate/Database/Eloquent/FactoryBuilder.php:170
/home/user/PhpstormProjects/RaddaR-crypto-back/tests/Integration/Services/Package/PackageServiceTest.php:122
Суть задачи в том, что бы поменять имя свойства не потеряв его значения.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости