Maison > Article > développement back-end > Exemples de migration de bases de données et de remplissage de données dans Laravel5.2
La migration de base de données de Laravel fournit une série d'opérations connexes sur les bases de données, les tables, les champs et les index. Ce qui suit prend comme exemple la création d’une table de liens conviviale.
Utilisez la commande Artisan php artisan make:migration create_links_table
Cela générera un fichier nommé 2017_05_06_151645_create_links_table.php fichier. La première moitié du nom "2017_05_06_151645_" est l'horodatage ajouté par Laravel. La seconde moitié de "create_links_table.php" est le nom de la table.
2. Écrivez la logiqueEnsuite, ouvrez la classe de migration2017_05_06_151645_create_links_table.php, qui a deux méthodes : up() et down(). La méthode up() crée une table et la méthode down() supprime la table.
<?php use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration; class CreateLinksTable extends Migration { /** * 执行迁移 * * @return void */ public function up() { Schema::create('links', function (Blueprint $table){ $table->engine = 'MyISAM'; $table->increments('id'); $table->string('name')->default('')->comment('名称'); $table->string('title')->default('')->comment('标题'); $table->string('url')->default('')->comment('地址'); $table->integer('sort')->default(50)->comment('排序'); }); } /** * 回滚迁移 * * @return void */ public function down() { Schema::drop('links'); } } 2017_05_06_151645_create_links_table.php3. Exécutez la migration Utilisez la commande Artisan
php artisan migrate
Maintenant, dans le base de données Une table hd_links et une table hd_migrations qui enregistrent les migrations ont été créées ("hd_" est le préfixe de table configuré) :Remarque : si elles sont supprimées manuellement Classes de migration et les fichiers ne peuvent pas être recréés. Utilisez la commande composer dump-autoload pour optimiser le chargement automatique et la migration peut être recréée.
2. Le remplissage des données peut être utilisé à des fins de test pour remplir certaines données du tableau de la base de données. 1. Créez le remplissageUtilisez la commande Artisanphp artisan make:seeder LinksTableSeeder
Cela générera un fichier nommé LinksTableSeeder.phpClasse de remplissage de liens conviviale. 2. Écrivez la logique
et ajoutez deux enregistrements de test.
<?php use Illuminate\Database\Seeder; class LinksTableSeeder extends Seeder { /** * 运行数据库填充 * * @return void */ public function run() { $data = [ [ 'name' => 'Laravel 中文社区', 'title' => 'Laravel China 社区 - 高品质的 Laravel 和 PHP 开发者社区 - Powered by PHPHub', 'url' => 'https://laravel-china.org/', 'sort' => '49' ], [ 'name' => 'GitHub', 'title' => 'GitHub is where people build software. More than 21 million people use...', 'url' => 'https://github.com', 'sort' => '49' ] ]; DB::table('links')->insert($data); } }
Contenu du fichier DatabaseSeeder.php :
<?php use Illuminate\Database\Seeder; class DatabaseSeeder extends Seeder { /** * 运行数据库填充 * * @return void */ public function run() { $this->call(LinksTableSeeder::class); } }
Maintenant, la table hd_links dans la base de données contient 2 enregistrements :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!