Lumen框架的數(shù)據(jù)庫(kù)遷移操作

小樊
85
2024-08-29 12:14:27

Lumen框架是一個(gè)輕量級(jí)的PHP框架,用于構(gòu)建RESTful API和微服務(wù)。它的數(shù)據(jù)庫(kù)遷移操作類(lèi)似于Laravel框架,但有一些不同之處。以下是在Lumen中進(jìn)行數(shù)據(jù)庫(kù)遷移操作的步驟:

  1. 安裝Lumen框架:

    使用Composer創(chuàng)建一個(gè)新的Lumen項(xiàng)目:

    composer create-project --prefer-dist laravel/lumen lumen-app
    
  2. 配置數(shù)據(jù)庫(kù)連接:

    .env文件中配置數(shù)據(jù)庫(kù)連接信息:

    DB_CONNECTION=mysql
    DB_HOST=127.0.0.1
    DB_PORT=3306
    DB_DATABASE=your_database_name
    DB_USERNAME=your_database_username
    DB_PASSWORD=your_database_password
    
  3. 啟用Eloquent ORM和數(shù)據(jù)庫(kù)門(mén)面:

    bootstrap/app.php文件中取消以下行的注釋?zhuān)?/p>

    $app->withEloquent();
    $app->withFacades();
    
  4. 安裝數(shù)據(jù)庫(kù)遷移組件:

    composer.json文件中添加以下內(nèi)容:

    "require": {
        "illuminate/database": "^8.0"
    }
    

    然后運(yùn)行composer update。

  5. 創(chuàng)建遷移文件:

    使用Artisan命令創(chuàng)建一個(gè)新的遷移文件:

    php artisan make:migration create_users_table --create=users
    

    這將在database/migrations目錄下生成一個(gè)新的遷移文件。

  6. 編寫(xiě)遷移文件:

    打開(kāi)生成的遷移文件,編寫(xiě)表結(jié)構(gòu):

    use Illuminate\Support\Facades\Schema;
    use Illuminate\Database\Schema\Blueprint;
    use Illuminate\Database\Migrations\Migration;
    
    class CreateUsersTable extends Migration
    {
        public function up()
        {
            Schema::create('users', function (Blueprint $table) {
                $table->increments('id');
                $table->string('name');
                $table->string('email')->unique();
                $table->string('password');
                $table->rememberToken();
                $table->timestamps();
            });
        }
    
        public function down()
        {
            Schema::dropIfExists('users');
        }
    }
    
  7. 運(yùn)行遷移:

    使用Artisan命令運(yùn)行遷移:

    php artisan migrate
    

    這將創(chuàng)建users表。

  8. 回滾遷移:

    如果需要回滾遷移,可以使用以下命令:

    php artisan migrate:rollback
    
  9. 創(chuàng)建數(shù)據(jù)填充文件:

    使用Artisan命令創(chuàng)建一個(gè)新的數(shù)據(jù)填充文件:

    php artisan make:seeder UsersTableSeeder
    

    這將在database/seeds目錄下生成一個(gè)新的數(shù)據(jù)填充文件。

  10. 編寫(xiě)數(shù)據(jù)填充文件:

    打開(kāi)生成的數(shù)據(jù)填充文件,編寫(xiě)填充數(shù)據(jù):

    use Illuminate\Database\Seeder;
    use Illuminate\Support\Facades\DB;
    
    class UsersTableSeeder extends Seeder
    {
        public function run()
        {
            DB::table('users')->insert([
                'name' => 'John Doe',
                'email' => 'john@example.com',
                'password' => bcrypt('password'),
            ]);
        }
    }
    
  11. 運(yùn)行數(shù)據(jù)填充:

    使用Artisan命令運(yùn)行數(shù)據(jù)填充:

    php artisan db:seed --class=UsersTableSeeder
    

現(xiàn)在,你已經(jīng)完成了Lumen框架的數(shù)據(jù)庫(kù)遷移操作。

0