Mehmet Hanoğlu

Mehmet Hanoğlu

Software Developer

Etiketler


Laravel uygulamalarında karşılaşılan hatanın sebebi: MariaDB ve MySQL bazı versiyonlarında json türü desteklenmiyor. Bu nedenle tablo oluşturulamıyor. Eğer indirip manuel olarak yüklenen bir paketin dosyası değilse, dosya üzerinde işlem yapamayacağınız için ve sorunu kökten çözmek için aşağıdaki düzenlemeyi yapmanız gerekli. ( Örneğin: OctoberCMS pluginleri )

[Illuminate\Database\QueryException]
SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near json

Çözüm: vendor/laravel/framework/src/Illuminate/Database/Schema/Blueprint.php Dosyasını açın ve aratın

$this->addColumn('json', $column);

ile değiştir

$this->addColumn('text', $column);

Bu sayede $table->json('kolon') türleri json olarak değil text olarak işlem görecektir. Fakat uygulama tarafında JSON olarak cast edileceği için problem oluşturmaz.