Php can'上的一对一关系错误;t运行artisan命令时更改表

Php can'上的一对一关系错误;t运行artisan命令时更改表,php,mysql,laravel-5.2,Php,Mysql,Laravel 5.2,我有多个包,用户一次只能有一个包,不能有多个。因此,我创建了一对一关系,并在users表中添加了一个外键 以下是相关用户表: public function up() { Schema::create('users', function (Blueprint $table) { $table->increments('id'); $table->string('name'); $table->string('email')

我有多个包,用户一次只能有一个包,不能有多个。因此,我创建了一对一关系,并在users表中添加了一个外键

以下是相关用户表:

public function up()
{
    Schema::create('users', function (Blueprint $table) {
        $table->increments('id');
        $table->string('name');
        $table->string('email')->unique();
        $table->string('password', 60);
        $table->string('role');
        $table->unsignedInteger('package_id');
        $table->rememberToken();
        $table->nullableTimestamps();

        $table->foreign('package_id')
            ->references('id')
            ->on('packages');
    });
}
这是包裹表:

public function up()
{
    Schema::create('packages', function (Blueprint $table) {
        $table->increments('id');
        $table->string('name');
        $table->integer('price');
        $table->integer('space');
        $table->string('space_type');
        $table->string('trial')->nullable();
        $table->string('trial_period')->nullable();
        $table->string('password_protected_links')->nullable();
        $table->nullableTimestamps();
    });
}
但是,当我运行php artisan migrate:refresh时,出现了以下错误:

[Illuminate\Database\QueryException]
  SQLSTATE[HY000]: General error: 1005 Can't create table 'clouder.#sql-834_1
  4' (errno: 150) (SQL: alter table `users` add constraint users_package_id_f
  oreign foreign key (`package_id`) references `packages` (`id`))

[PDOException]
  SQLSTATE[HY000]: General error: 1005 Can't create table 'clouder.#sql-834_1
  4' (errno: 150)

但是,我相信我已经正确创建了外键。还有什么是我犯的错误吗?

我现在已经自己解决了这个问题。我遇到的问题是由迁移顺序引起的。
create_users_表
migration附带了
Laravel 5.2
当我创建了新的迁移
create_packages_表
create_users表第一次迁移的顺序,它是在
create_packages_表
之前加载的。因此,当查询试图创建
外键
时,它无法在
packages
表中找到该列。因此,只需重命名
create\u users\u表
date,以确保在
create\u packages\u表
修复该问题后加载

我希望以后有人会觉得它有用