ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
## 数据迁移 在 `Laravel` 能使用原生 SQL、流畅的查询构造器,和 Eloquent ORM 在各种数据库后台与数据库进行非常简单的交互。当前 Laravel 支持四种数据库: * MySQL * PostgreSQL * SQLite * SQL Server ### 配置 数据库的配置文件放置在 `config/database.php` 文件中,你可以在这个文件中定义所有的数据库连接,并指定默认使用的数据库。数据库的链接配置放在 `.env` 文件中。 ``` DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=homestead DB_USERNAME=homestead DB_PASSWORD=secret ``` ### 数据迁移 迁移就像是数据库的版本控制,允许团队简单轻松的编辑并共享应用的数据库表结构,如果你曾经手动在数据库结构中修改字段,如果项目其他环境又得重新修改一次,有了数据迁移就不再需要做这样的事情。 使用 `Artisan` 命令 `make:migration` 来创建迁移。 ``` php artisan migrate ``` ### 生成迁移 使用 `Artisan`命令 `make:migration` 来创建迁移: ``` php artisan make:migration create_projects_table ``` 新的迁移位于 `database/migrations` 目录下。每个迁移文件名都包含时间戳,以便让 Laravel 确认迁移的顺序。 迁移类通常会包含2个方法: `up` 和 `down`。 `up` 方法用于添加新的数据表, 字段或者索引到数据库, 而 `down` 方法是删除数据表。 下面我们简单创建字段: ```php <?php use Illuminate\Support\Facades\Schema; use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration; class CreateProjectsTable extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::create('projects', function (Blueprint $table) { $table->increments('id'); $table->string('title'); $table->string('description'); $table->timestamps(); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::dropIfExists('projects'); } } ``` ### 回滚迁移 若要回滚最后一次迁移, 可以使用 `rollback` 命令。 此命令将回滚最后一次“迁移”的操作: ``` php artisan migrate:rollback ``` > `php artisan migrate:rollback` 命令会执行 `down` 方法,如果注释掉将不会回滚迁移 ### 删除所有表并迁移 `migrate:fresh` 命令会从数据库中删除所有表: ``` php artisan migrate:fresh ``` ### 总结 本节主要介绍数据库配置及迁移数据库命令操作: * php artisan make:migration create_projects_table # 生成迁移文件 * php artisan migrate:rollback # 回滚迁移 * php artisan migrate:fresh # 删除所有表并迁移