- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在尝试运行 php artisan migrate
命令,但我没有得到它。我收到这个错误
SQLSTATE[42601]: Syntax error: 7 ERROR: zero-length delimited identifier at or near """"\n LINE 1: set search_path to ""\n ^ (SQL: select count(*) as aggregate from "categoria" where "deleted_at" is null and "categoria"."deleted_at" is null).
我的类(class)迁移分类:
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateCategoriasTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('categoria', function (Blueprint $table) {
$table->increments('id');
$table->string('nome', 60);
$table->timestamps();
$table->softDeletes();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('categoria');
}
}
这个地方发生在我运行 php artisan migrate 命令时。在vagrant中出现这个错误
vagrant@homestead:~/code/controle-interno$ php artisan migrate
**************************************
* Application In Production! *
**************************************
Do you really wish to run this command? (yes/no) [no]:
> yes
In Connection.php line 664:
SQLSTATE[42601]: Syntax error: 7 ERROR: zero-length delimited identifier at or near """"
LINE 1: set search_path to ""
^ (SQL: select * from information_schema.tables where table_schema = public and table_name = migrations)
In PDOStatement.php line 143:
SQLSTATE[42601]: Syntax error: 7 ERROR: zero-length delimited identifier at or near """"
LINE 1: set search_path to ""
^
In PDOStatement.php line 141:
SQLSTATE[42601]: Syntax error: 7 ERROR: zero-length delimited identifier at or near """"
LINE 1: set search_path to ""
^
我的设置是 Laravel 最新的 homestead
如有任何帮助,我将不胜感激!
最佳答案
我能够通过更改 /vendor/laravel 的
类到我创建的模式。configureSchema ($connection, $config)
方法的 $schema
变量来解决我的问题/framework/src/Illuminate/Database/Connectors/PostgresConnector.php
之前
/**
* Set the schema on the connection.
*
* @param \PDO $connection
* @param array $config
* @return void
*/
protected function configureSchema($connection, $config)
{
if (isset($config['schema'])) {
$schema = $this->formatSchema($config['schema']);
$connection->prepare("set search_path to {$schema}")->execute();
}
}
之后
/**
* Set the schema on the connection.
*
* @param \PDO $connection
* @param array $config
* @return void
*/
protected function configureSchema($connection, $config)
{
if (isset($config['schema'])) {
// $schema = $this->formatSchema($config['schema']);
$schema = 'controle_interno';
$connection->prepare("set search_path to {$schema}")->execute();
}
}
我意识到调试堆栈跟踪的问题并意识到由于某种原因 $schema
变量变空了。
如果有人简洁地解释了为什么会发生此错误,我会将其标记为答案。
关于php - 我无法运行 php artisan migrate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51052864/
在全新的 Laravel 安装中,我正在运行 php artisan migrate 并且它正在返回: [Illuminate\Database\QueryException]
是否可以为 创建 Artisan 调用或命令 php artisan migrate 喜欢 Artisan::call('migrate); 因此,当连接动态更改时,我可以将丢失的表迁移到我的数据库。
我想创建一个别名,例如 php artisan go 而不是 php artisan 服务 我会感激任何其他想法:-)。我也读过这篇文章link并搜索了很多,但不太清楚,其他问题是关于制作 class
我在 Horizon 中使用 Laravel 队列和 Redis。Supervisor 正在运行 artisan horizon,它会生成进程 /usr/bin/php7.2 artisan
我在内核命令中工作,我需要更改旧命令: 旧命令是: php artisan crawl:author 现在我需要将其重命名为: php artisan crawl-bq:author 在我的命令文件签
我决定测试新的 Laravel。所以我从基本命令开始: $ laravel new blog $ php artisan make:auth $ php artisan migrate 我编辑了 Ap
在 Laravel 中注意到有两种方法可以清除缓存 php artisan cache:clear 和 php artisan config:cache 但是我意识到只有第二个在更改本地化、添加 la
我正在做一个 Lumen 项目。 我尝试使用 Artisan::call('my-command') 但是 PHP 说我没有定义 Artisan 类。 我已经使用以下命令启用了 Facade: $ap
那么 php artisan serve 到底在做什么呢?我目前有一个在 apache 上运行的站点,我正在尝试建立一个 websocket 框架以进行实时聊天。 websocket是一个后台运行的p
通常我会运行像这样的 laravel artisan 命令 php artisan Command -v 如果出现错误,我可以使用 -v 标志找到文件/行号。 出于某种原因,-v 不适用于我的命令之一
主表 POll public function up() { Schema::create('poll', function (Blueprint $table) {
您好,我在使用 php artisan migrate 在我的 vps 服务器上进行迁移时遇到问题。我已经安装了apache2和mysql。我可以通过 mysql -u root -p 使用密码“pa
由于某种原因,每当我运行任何 php artisan 命令时,我都会收到一条错误消息,指出我的一个表不存在。这是真的,我正在开始一个新的数据库。我不明白的是, artisan 到底为什么需要使用这张
我正在设置 Laravel 环境。所以,我下载了 XAMPP 并相应地配置了我的 vhost 文件。然后,我设置 MySQL 并运行以下命令: Composer 安装 npm 安装 php artis
我在我的 Mac 上运行本地 MAMP 机器。 Laravel 在生产环境中运行。 Laravel 能够在我通过浏览器显示的 php 页面上访问 MySQL 数据库,但是当我在终端中运行 php ar
我已经将我的 Laravel 5.5 项目上传到 centOS7 服务器。现在,当我第一次运行“php artisan migrate”加载数据库表时,我遇到了以下错误。 Error message
我正在运行一个基本的 artisan command test但是 phpunit 提示 This test did not perform any assertion。但是我断言了退出代码。 pub
我正在 Azure 上运行 Laravel 应用程序。事情正在朝着正确的方向发展,composer install 根本不起作用。然而现在,“php artisan optimize”命令超时了: 但
当我尝试运行 artisan 命令 php artisan route:list 时出现以下错误: [Symfony\Component\Debug\Exception\FatalErrorExcep
今天我遇到了一个我以前从未遇到过的非常奇怪的情况,而且在任何地方都找不到解决办法。 每当我在控制台中键入 php artisan 时,它都不会返回任何内容。尝试多次克隆 repo(在此处的其他机器上运
我是一名优秀的程序员,十分优秀!