Maison  >  Article  >  cadre php  >  Évitez la fosse ! Un piège de la fonction de migration de base de données Laravel

Évitez la fosse ! Un piège de la fonction de migration de base de données Laravel

藏色散人
藏色散人avant
2021-06-11 11:51:402145parcourir

La colonne tutorielle suivante de laravel vous présentera un piège de la fonction de migration de base de données Laravel. J'espère qu'elle sera utile aux amis qui en ont besoin !

  • Environnement : Laravel 8
  • Exigences pour Laravel migration de base de données Fonction, parce que je suis une Vierge atteinte d'un trouble obsessionnel-compulsif, j'aime nommer mes propres fichiers, par exemple :

Évitez la fosse ! Un piège de la fonction de migration de base de données Laravel

  • Cependant, lors de la migration , une erreur est signalée :

Évitez la fosse ! Un piège de la fonction de migration de base de données Laravel

  • Après plusieurs séries de tentatives, j'ai découvert que Laravel avait une analyse corrigée de 文件名命名格式 pour les fichiers de migration , donc quand j'écris le nom du fichier exactement selon son style

Évitez la fosse ! Un piège de la fonction de migration de base de données Laravel

  • Bien sûr les noms de classes doivent aussi être unifiés :

Évitez la fosse ! Un piège de la fonction de migration de base de données Laravel

  • Le point de se plaindre est : 文档中并没有提及文件名称命名风格的强制要求 J'ai donc enregistré ce gouffre aujourd'hui
  • Il semble que ce soit un autre gouffre ou un défaut du cadre : ça est la structure de la table 没办法持续集成, par exemple, aujourd'hui j'en ai besoin. Si vous ajoutez des champs à une table, mais qu'elle a déjà été migrée, ce sera 没办法再次运行同一个迁移文件必须要创建新的迁移文件 Bien sûr, je comprends aussi que c'est pour faciliter la restauration, mais. mon exigence est de continuer à ajouter des champs pour de nouvelles fonctions, ce qui n'est pas nécessaire, donc mon 解决方案 est d'effacer la table migrations à chaque fois, car c'est dans cette table que je contrôle si le même fichier de migration peut être exécuté à plusieurs reprises. . Le code est le suivant :
trait Trait_Migrate
{
    /**
     * @desc 数据表:初始化
     * @return Void
     */
    static public function CI_Table_Structure() : Void
    {
        # 清空记录表以保证能持续迁移
        DB::table( 'migrations' ) -> truncate();
        # 执行迁移
        Artisan::call( 'migrate --force --path=/database/migrations/' . SELF::$CI_File );
    }

}
  • En général, la navigation se déroulera sans problème si vous suivez complètement les règles du document-cadre. Cependant, il est très normal de rencontrer des situations où le. les fonctions par défaut du framework ne peuvent pas répondre aux besoins lors de la réalisation de projets

Recommandations associées : Les cinq derniers didacticiels vidéo Laravel

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer