【问题标题】:A space in front of column in table when created from Laravel migration从 Laravel 迁移创建时,表中列前的空格
【发布时间】:2019-08-10 15:44:27
【问题描述】:

有没有人遇到像我这样的问题,当我通过 Laravel 迁移创建表时有多余的空间?

我为这个迁移文件重新运行了几次,但仍然创建了额外的空间。

我的环境。

  • Laravel 5.6
  • PHP 7.2
  • MySQL 5.7.23

这是我的图片和迁移内容。

Schema::create('plugin_packages', function (Blueprint $table) {
            $table->char('id', 36)->primary();
            $table->char('plugin_id', 36)->nullable();
            $table->char('plugin_package_device_model_id', 36)->nullable();
            $table->char('plugin_package_os_version_id', 36)->nullable();
            $table->string('version_number');
            $table->string('file');
            $table->timestamps();
            $table->softDeletes();

            $table->foreign('plugin_id')->references('id')->on('plugins')->onUpdate('cascade')->onDelete('cascade');
            $table->foreign('plugin_package_device_model_id', 'ppdm_id_foreign')->references('id')->on('plugin_package_device_models')->onUpdate('cascade')->onDelete('cascade');
            $table->foreign('plugin_package_os_version_id', 'ppov_id_foreign')->references('id')->on('plugin_package_os_versions')->onUpdate('cascade')->onDelete('cascade');
        });

谢谢。

------2019.03.21 更新-------

plugin_package_os_version_id 列前面有\u0096\u0096

[{"id":"14f0c766-341c-4262-9a33-0b8fc3063cad","plugin_id":"b3f09e90-cd8b-4e18-9b5e-c9176a5ea898","plugin_package_device_model_id":"a7a630e3-3fac-40c3-b3ed-61d54eb91d6f","\u0096\u0096plugin_package_os_version_id":"623eaf52-09dd-4837-aa9e-79e4f930d654","version_number":"1.0.1","file":"uploads\/application-x-dosexec\/2019-03-12\/FECEdgeServiceSETUP_3484fe18556c19479f8b6caf5c60ec98.exe","created_at":"2019-03-21 14:12:43","updated_at":"2019-03-21 14:12:43","deleted_at":null}]

------2019.03.21 更新 2--------

如果我改变

$table->char('plugin_package_os_version_id', 36)->nullable();

$table->char('ppov_id', 36)->nullable();

它按预期工作。

如图所示:

仍然无法确定导致问题的原因。

-----2019.03.21更新3--------

迁移文件的全部内容

<?php

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreatePluginPackagesTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('plugin_packages', function (Blueprint $table) {
            $table->char('id', 36)->primary();
            $table->char('plugin_id', 36)->nullable();
            $table->char('plugin_package_device_model_id', 36)->nullable();
            $table->char('plugin_package_os_version_id', 36)->nullable();
            $table->string('version_number');
            $table->string('file');
            $table->timestamps();
            $table->softDeletes();

            $table->foreign('plugin_id')->references('id')->on('plugins')->onUpdate('cascade')->onDelete('cascade');
            $table->foreign('plugin_package_device_model_id', 'ppdm_id_foreign')->references('id')->on('plugin_package_device_models')->onUpdate('cascade')->onDelete('cascade');
            $table->foreign('plugin_package_os_version_id', 'ppov_id_foreign')->references('id')->on('plugin_package_os_versions')->onUpdate('cascade')->onDelete('cascade');
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('plugin_packages');
    }
}

【问题讨论】:

    标签: mysql laravel-5 database-migration


    【解决方案1】:

    尝试在终端中运行以下命令:

    1. composer dump-autoload
    2. php artisan config:cache
    3. php artisan migrate:fresh

    【讨论】:

    • 抱歉回复晚了,问题依旧
    • 您可以在迁移中发布整个class 吗?
    猜你喜欢
    • 2018-05-22
    • 2013-09-26
    • 2017-07-02
    • 2018-10-26
    • 2015-03-28
    • 2023-01-06
    • 2015-01-14
    • 2021-06-29
    • 2017-05-07
    相关资源
    最近更新 更多