+2
Lỗi khi thực viết migration change field trong Laravel với postgresql
Hi anh chị,
Em đang làm dự án sử dụng laravel và postgresql. Khi e viết migration tạo bảng với tên bảng dạng in hoa ( cái này dự án bắt buộc để connect với bên thứ 2), ví dụ tên bảng Employees, lúc tạo thì bình thường, nhưng khi e viết migration để chỉnh sửa column trong bảng thì phát sinh lỗi : code migration:
Schema::table('Employees', function (Blueprint $table) {
$table->string('DateOfBirth')->nullable()->change();
});
Lỗi:
Doctrine\DBAL\Exception\TableNotFoundException
An exception occurred while executing 'SELECT obj_description('Employees'::regclass) AS table_comment;':
SQLSTATE[42P01]: Undefined table: 7 ERROR: relation "employees" does not exist
LINE 1: SELECT obj_description('Employees'::regclass) AS table_comme...
Không biết có anh chị nào gặp trường hợp này rồi có thể support e với được không ạ!
3 CÂU TRẢ LỜI
+3
Vì nó tự đổi sang lowercase đó, cái này do postgresql chứ không phải do laravel.
Schema::table('"Employees"', function (Blueprint $table) {
$table->string('"DateOfBirth"')->nullable()->change();
});
try it!
Bình luận này đã bị xóa
+2
Bạn thử override getTable()
bên trong model xem
public function getTable()
{
return ucfirst(parent::getTable());
}
bên trong migration chứ ạ
0
Cái code sửa cột DateOfBirth là ở file migration mới hay bạn sửa trực tiếp vào file migration tạo bảng Employees đã có trước đó vậy?
migration mới á bạn
Tức là lúc chạy lệnh migrate thì nó bắn lỗi như kia à bạn?
@huukimit dạ đúng rồi, viết xong chạy php artisan migrate là bị
@duongdosieu224 Cho mình hỏi cái:
@huukimit
file migration sửa