【发布时间】:2017-06-15 03:46:57
【问题描述】:
构建 Laravel 项目 (v. 5.4) 当我运行 php artisan migrate 时,我收到以下错误消息:
[Illuminate\Database\QueryException]
SQLSTATE[3F000]: Invalid schema name: 7 ERROR: no schema has been selected
to create in (SQL: create table "migrations" ("id" serial primary key not
null, "migration" varchar(255) not null, "batch" integer not null))
现在才刚刚开始发生这种情况,而我之前在这个项目中没有发生任何事故,并且自从初始设置有效以来,我没有更改我的 .env 文件或 config/database.php 文件。我认为这可能与错误的 postgresql 用户有关,但我登录了 CLI 并 SET ROLE 登录了相关数据库的所有者。没有效果。
【问题讨论】:
-
确保你的数据库有一个名为“public”的模式,这是 laravel 中的默认模式,PostgreSQL postgresql.org/docs/9.1/static/ddl-schemas.html
-
目前我的架构设置为:schema => env('DB_PGSQL_SCHEMA', 'public'),在我的 database.php 文件中。在我的 .env 文件中,我有 DB_PGSQL_SCHEMA=fes 这在以前的迁移中对我有用,最近刚刚停止工作,而我没有更改这些文件中的任何内容。在这种情况下,我应该仍然创建一个名为“public”的模式,还是应该是“fes”?编辑:它已经有“公共”模式,但创建“fes”导致迁移工作。谢谢!
-
你找到解决办法了吗?
标签: php postgresql laravel