【问题标题】:No table name set on execute migration in Lumen在 Lumen 中执行迁移时未设置表名
【发布时间】:2015-12-29 00:35:07
【问题描述】:

尝试在 Lumen Framework 中运行迁移时遇到此错误:

$ php artisan migrate:install

 [Illuminate\Database\QueryException]                                                                   
  SQLSTATE[42000]: Syntax error or access violation: 1103 Incorrect table name '' (SQL: create table ``  
   (`migration` varchar(255) not null, `batch` int not null) default character set utf8 collate utf8_unicode_ci)     

  [PDOException]                                                                   
  SQLSTATE[42000]: Syntax error or access violation: 1103 Incorrect table name '' 

现在我不知道发生了什么。

请注意,未创建的表是完全控制迁移的表。

【问题讨论】:

  • 我们也没有...你试过用谷歌搜索错误吗?
  • 我有,但没有发现类似的东西。另外,我已经尝试重新安装整个系统,但仍然是同样的错误
  • 在您的一个迁移文件中,您已将表名设置为空白/空。请仔细检查所有迁移文件,并确保它们都具有表名。
  • 确保在你的迁移中你有类似这样的东西:Schema::create('tableName', function (Blueprint $table) { //table fields }
  • 迁移文件没问题。一个不起作用的是迁移表,当我运行php artisan migration:install

标签: php laravel lumen


【解决方案1】:

我自己找到了解决方案!

只需在数据库配置数组中添加表名即可!

'migrations' => 'migrations',

【讨论】:

  • 为我工作,多么愚蠢的事情。当您创建自定义 config/database.php 文件(在 Lumen 中)时,您必须将此解决方案添加到主数组中的“连接”级别。
  • 这对我有用,我在错误的地方添加了这个提示。它应该添加到连接映射之外。详情请查看github.com/laravel/lumen-framework/issues/248
  • 也为我工作,正如你所说,这是一个非常愚蠢的问题;为什么它仍然不是文档?
  • 拯救了我的一天。电视
  • 你是真神
【解决方案2】:
<?php
return [

    'default' => 'external',
    'migrations' => 'migrations',
    'connections' => [
        // your connections
    ],
];

【讨论】:

  • 这里的关键是:你需要'migrations' =&gt; 'migrations' 部分。
  • 添加config/database.php的放置位置可能会很好
猜你喜欢
  • 2019-05-05
  • 2020-05-14
  • 2019-12-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-07
相关资源
最近更新 更多