📜  创建外键 laravel 迁移 - PHP (1)

📅  最后修改于: 2023-12-03 14:50:15.479000             🧑  作者: Mango

创建外键 Laravel 迁移 - PHP

在 Laravel 中,迁移是数据库的版本控制系统,它允许你利用代码来管理数据库结构的变化。外键是一种数据库的约束关系,用于确保关联表之间的数据一致性和完整性。在 Laravel 中,我们可以使用迁移来创建外键。

下面是创建外键的步骤:

  1. 首先,我们需要创建两个表,假设一个是users表,另一个是posts表。我们将在users表中创建一个外键。

    // 创建 users 表
    Schema::create('users', function (Blueprint $table) {
        $table->increments('id');
        // ...
        $table->timestamps();
    });
    
    // 创建 posts 表
    Schema::create('posts', function (Blueprint $table) {
        $table->increments('id');
        // ...
        $table->timestamps();
    });
    
    
  2. 接下来,在users表中创建外键。我们可以使用unsignedBigInteger来表示外键的数据类型,这在 Laravel 5.8 或更高版本中是推荐的做法。

    // 在 users 表中创建外键
    Schema::table('users', function (Blueprint $table) {
        $table->unsignedBigInteger('post_id');
        $table->foreign('post_id')->references('id')->on('posts');
    });
    
    

    注意,我们使用unsignedBigInteger而不是integer来存储外键的值,因为外键通常是主键的引用,而主键在 Laravel 中默认是使用unsignedBigInteger创建的。

  3. 最后,在down方法中,我们需要删除外键。

    // 删除 users 表的外键
    Schema::table('users', function (Blueprint $table) {
        $table->dropForeign(['post_id']);
        $table->dropColumn('post_id');
    });
    
    

以上就是使用 Laravel 迁移创建外键的过程。通过使用迁移,我们可以轻松管理和部署数据库结构的变化,并确保数据的一致性。