我想问一下如何修复在本地托管的laravel中的错误,我使用mysql,但是在heroku,我切换到postgres,在迁移时得到这些错误。
在Connection.php第678行中:
SQLSTATE42704:未定义对象:7错误:数据类型json没有访问方法"btree“的默认操作符类。
提示:必须为索引指定运算符类,或为数据类型定义默认运算符类。(SQL: alter“函数”添加约束"functions_function_elements_unique“唯一("function_elements"))
在Connection.php第471行中:
SQLSTATE42704:未定义对象:7错误:数据类型json没有访问方法"btree“的默认操作符类。
提示:您必须为索引指定一个操作符类,或者为数据类型定义一个默认操作符类。
发布于 2021-03-27 22:04:19
默认情况下,Laravel将使用MySQL。您可能希望尝试其他SQL数据库类型,更改非常简单,但是如果您选择的数据库是postgres,则必须进行一些小的配置。
Install.
;extension=pdo_pgsql ;extension=pgsql
(注意到“;”已删除)
extension=pdo_pgsql extension=pgsql
DB_PASSWORD=your_choosen_password
DB_CONNECTION=pgsql DB_HOST=127.0.0.1 DB_PORT=5432 DB_DATABASE=database_name DB_USERNAME=postgres
发布于 2021-03-27 22:25:51
大家好,所以我在这里找到了解决方案:);
`
Schema::create('fdeg_functions', function (Blueprint $table) {
$table->id();
$table->timestamps();
$table->Json("function_elements")->unique();
});`所以,我要做的就是把json转换成string,它工作得太好了;我认为这不会对应用程序产生任何不良影响,告诉我您看到了什么,我希望这将帮助其他人:)
https://stackoverflow.com/questions/66836495
复制相似问题