


Migration et population de bases de données à l'aide de Laravel?: gérez de manière flexible les modifications de la structure des données
Aug 25, 2023 pm 03:21 PMUtilisez Laravel pour la migration et le remplissage de bases de données?: gestion flexible des modifications de la structure des données
Introduction?:
Au cours du processus de développement, nous rencontrons souvent des situations où la structure de la base de données doit être modifiée. Afin de faciliter la gestion et la maintenance de la base de données, Laravel propose des fonctions de migration et de remplissage de la base de données. En utilisant la migration et le remplissage, nous pouvons gérer de manière flexible les modifications apportées à la structure de la base de données et garantir la cohérence de la base de données dans différents environnements de développement. Cet article présentera en détail comment utiliser Laravel pour la migration et le remplissage de bases de données, et donnera des exemples de code.
1. Migration de base de données
La migration de base de données fait référence à la modification de la structure de la base de données sans perdre les données existantes. Laravel fournit de riches fonctions de migration qui peuvent facilement créer, modifier et supprimer des objets de base de données tels que des tables, des colonnes et des index.
-
Créer des fichiers de migration
Utilisez l'outil de ligne de commande Laravel Artisan pour créer rapidement des fichiers de migration. Entrez la commande suivante sur la ligne de commande?:php artisan make:migration create_users_table --create=users
Cela créera un fichier de migration nommé
YYYY_MM_DD_HHMMSS_create_users_table.php
dans le répertoiredatabase/migrations
.database/migrations
目錄下創(chuàng)建一個名為YYYY_MM_DD_HHMMSS_create_users_table.php
的遷移文件。 編輯遷移文件
打開剛才生成的遷移文件,我們可以在up
方法中添加創(chuàng)建表的代碼。例如,我們要創(chuàng)建一個名為users
的表,并添加name
和email
兩個列,代碼如下:public function up() { Schema::create('users', function (Blueprint $table) { $table->id(); $table->string('name'); $table->string('email')->unique(); $table->timestamps(); }); }
在完成表的創(chuàng)建后,我們還可以使用Laravel提供的一系列方法修改表結構、添加索引等。具體方法可以參考Laravel的官方文檔。
執(zhí)行遷移
在命令行中輸入以下命令執(zhí)行遷移:php artisan migrate
Laravel會自動執(zhí)行
up
方法中定義的操作,創(chuàng)建users
表。撤銷遷移
如果需要撤銷遷移,可以使用以下命令:php artisan migrate:rollback
Laravel將會自動調(diào)用遷移文件的
down
方法,撤銷遷移操作。
二、數(shù)據(jù)庫填充
數(shù)據(jù)庫填充是指向數(shù)據(jù)庫表中插入測試數(shù)據(jù)或初始數(shù)據(jù)的過程。Laravel提供了強大的填充功能,可以方便地生成并插入各種類型的測試數(shù)據(jù)。
創(chuàng)建填充文件
使用Laravel Artisan命令行工具可以快速創(chuàng)建填充文件。在命令行中輸入以下命令:php artisan make:seeder UsersTableSeeder
這會在
database/seeders
目錄下創(chuàng)建一個名為UsersTableSeeder.php
的填充文件。編輯填充文件
打開剛才生成的填充文件,在run
方法中編寫插入數(shù)據(jù)的代碼。例如,我們想向users
表中插入3條測試數(shù)據(jù),代碼如下:public function run() { DB::table('users')->insert([ ['name' => 'John', 'email' => 'john@example.com'], ['name' => 'Jane', 'email' => 'jane@example.com'], ['name' => 'Mike', 'email' => 'mike@example.com'], ]); }
執(zhí)行填充
在命令行中輸入以下命令執(zhí)行填充:php artisan db:seed --class=UsersTableSeeder
Laravel將會自動執(zhí)行填充文件中的
run
方法,向users
表中插入測試數(shù)據(jù)。撤銷填充
如果需要撤銷填充,可以使用以下命令:php artisan db:seed --class=UsersTableSeeder
Laravel將會自動調(diào)用填充文件的
down
Ouvrez le fichier de migration qui vient d'être généré, on peut ajouter le code pour créer la table dans la méthode up
. Par exemple, nous voulons créer une table nommée users
et ajouter deux colonnes : name
et email
. Le code est le suivant :
rrreee
up
et créera les utilisateurs
tableau. ????????Annuler la migration??Si vous devez annuler la migration, vous pouvez utiliser la commande suivante : ??rrreee??Laravel appellera automatiquement la méthode down
du fichier de migration pour annuler l'opération de migration. ???????? 2. Remplissage de la base de données ??Le remplissage de la base de données est le processus d'insertion de données de test ou de données initiales dans la table de la base de données. Laravel fournit de puissantes fonctions de remplissage qui peuvent facilement générer et insérer différents types de données de test. ????????Créer des fichiers de remplissage??Utilisez l'outil de ligne de commande Laravel Artisan pour créer rapidement des fichiers de remplissage. Entrez la commande suivante sur la ligne de commande?: ??rrreee??Cela créera un fichier de remplissage nommé UsersTableSeeder.php
dans le répertoire database/seeders
. ????????Modifiez le fichier de remplissage??Ouvrez le fichier de remplissage que vous venez de générer et écrivez le code pour insérer des données dans la méthode run
. Par exemple, nous souhaitons insérer 3 données de test dans la table users
. Le code est le suivant?: ??rrreee??????Effectuer le remplissage??Entrez la commande suivante sur la ligne de commande pour effectuer le remplissage?: ??rrreee??Laravel l'exécutera automatiquement. Remplissez la méthode run
dans le fichier et insérez les données de test dans la table users
. ????????Annuler le remplissage??Si vous devez annuler le remplissage, vous pouvez utiliser la commande suivante?: ??rrreee??Laravel appellera automatiquement la méthode down
du fichier de remplissage pour supprimer les données de remplissage. ????????Résumé?: ??En utilisant les fonctions de migration et de population de bases de données de Laravel, nous pouvons gérer et maintenir les modifications apportées à la structure de la base de données de manière plus flexible. La combinaison de la migration et du remplissage avec des outils de contr?le de version de code peut garantir la cohérence de la base de données dans différents environnements de développement et améliorer l'efficacité de la collaboration en équipe. J'espère que cet article vous aidera à ma?triser les fonctions de migration et de remplissage de bases de données de Laravel. ????Remarque?: l'exemple de code ci-dessus est basé sur la version Laravel 8.0. Différentes versions de Laravel peuvent présenter de légères différences, veuillez les ajuster en fonction de la situation réelle. ??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!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Il existe trois fa?ons principales de définir des variables d'environnement dans PHP: 1. Configuration globale via Php.ini; 2. Passé via un serveur Web (tel que setenv d'Apache ou Fastcgi_param de Nginx); 3. Utilisez la fonction PUTENV () dans les scripts PHP. Parmi eux, PHP.ini convient aux configurations globales et modifiées, la configuration du serveur Web convient aux scénarios qui doivent être isolés et PUTENV () convient aux variables temporaires. Les stratégies de persistance incluent des fichiers de configuration (tels que PHP.ini ou la configuration du serveur Web), les fichiers .env sont chargés de bibliothèque Dotenv et l'injection dynamique de variables dans les processus CI / CD. Les informations sensibles à la gestion de la sécurité doivent être évitées à code dur et il est recommandé de l'utiliser.

Le cache de configuration de Laravel améliore les performances en fusionnant tous les fichiers de configuration dans un seul fichier de cache. L'activation du cache de configuration dans un environnement de production peut réduire les opérations d'E / S et l'analyse de fichiers sur chaque demande, accélérant ainsi le chargement de configuration; 1. Il doit être activé lorsque l'application est déployée, la configuration est stable et aucune modification fréquente n'est requise; 2. Après l'activation, modifiez la configuration, vous devez ré-para?tre phpartisanconfig: cache pour prendre effet; 3. évitez d'utiliser une logique dynamique ou des fermetures qui dépendent des conditions d'exécution dans le fichier de configuration; 4. Lors du dépannage des problèmes, vous devez d'abord effacer le cache, vérifiez les variables .env et re-cache.

Pour permettre aux conteneurs PHP de prendre en charge la construction automatique, le noyau réside dans la configuration du processus d'intégration continue (CI). 1. Utilisez Dockerfile pour définir l'environnement PHP, y compris l'image de base, l'installation d'extension, la gestion de la dépendance et les paramètres d'autorisation; 2. Configurez des outils CI / CD tels que GitLabci et définissez les étapes de construction, de test et de déploiement via le fichier .gitlab-ci.yml pour réaliser une construction, un test et un déploiement automatique; 3. Intégrer des cadres de test tels que PHPUnit pour s'assurer que les tests sont automatiquement exécutés après les modifications du code; 4. Utiliser des stratégies de déploiement automatisées telles que Kubernetes pour définir la configuration de déploiement via le fichier de déploiement.yaml; 5. Optimiser Dockerfile et adopter une construction en plusieurs étapes

La gestion de la permission des utilisateurs est le mécanisme central pour réaliser la monétisation des produits dans le développement de PHP. Il sépare les utilisateurs, les r?les et les autorisations via un modèle de contr?le d'accès basé sur les r?les (RBAC) pour obtenir une allocation et une gestion d'autorisation flexibles. Les étapes spécifiques incluent: 1. Concevoir trois tables d'utilisateurs, r?les et autorisations et deux tables intermédiaires de user_roles et de role_permissions; 2. Implémentez les méthodes de vérification de l'autorisation dans le code telles que $ user-> can ('edit_post'); 3. Utilisez du cache pour améliorer les performances; 4. Utiliser le contr?le de l'autorisation pour réaliser la superposition des fonctions du produit et les services différenciés, soutenant ainsi le système d'adhésion et les stratégies de tarification; 5. évitez la permission que la granularité est trop grossière ou trop fine, et utilisez "l'investissement"

Les éloquents de Laravel sont un outil qui résume la logique de requête commune, divisée en portée locale et en portée mondiale. 1. La portée locale est définie avec une méthode commen?ant par la portée et doit être appelée explicitement, comme POST :: publiée (); 2. La portée globale est automatiquement appliquée à toutes les requêtes, souvent utilisées pour la suppression douce ou les systèmes multi-locataires, et l'interface de portée doit être implémentée et enregistrée dans le modèle; 3. La portée peut être équipée de paramètres, tels que le filtrage des articles par année ou par mois, et les paramètres correspondants sont passés lors de l'appel; 4. Faites attention aux spécifications de dénomination, aux appels de cha?ne, à la désactivation temporaire et à l'expansion de la combinaison lors de l'utilisation pour améliorer la clarté du code et la réutilisabilité.

Createahelpers.phpfileinApp / whetters withcustomfonctions likeformatprice, isactiveroute, andisadmin.2.addthefiletothe "fichiers" sectionofcomposer.jsonunderautoload.3.runcomposerdump-autoloadtomakethfunctionsgloballyavailable.4.usethhelperfunctions

Sélectionnez la méthode de journalisation: au stade précoce, vous pouvez utiliser l'erreur intégrée_log () pour PHP. Une fois le projet élargi, assurez-vous de passer à des bibliothèques matures telles que Monolog, prendre en charge plusieurs gestionnaires et niveaux de journal et assurez-vous que le journal contient des horodatages, des niveaux, des numéros de ligne de fichiers et des détails d'erreur; 2. Structure de stockage de conception: une petite quantité de journaux peut être stockée dans des fichiers, et s'il existe un grand nombre de journaux, sélectionnez une base de données s'il existe un grand nombre d'analyses. Utilisez MySQL / PostgreSQL sur des données structurées. Elasticsearch Kibana est recommandé pour semi-structuré / non structuré. Dans le même temps, il est formulé pour les stratégies de sauvegarde et de nettoyage régulières; 3. Interface de développement et d'analyse: il devrait avoir des fonctions de recherche, de filtrage, d'agrégation et de visualisation. Il peut être directement intégré à Kibana ou utiliser la bibliothèque du graphique Framework PHP pour développer l'auto-développement, en se concentrant sur la simplicité et la facilité d'interface.

Créer un tableau de références pour enregistrer les relations de recommandation, y compris les références, les références, les codes de recommandation et le temps d'utilisation; 2. Définir l'appartenance et les relations HasMany dans le modèle d'utilisateur pour gérer les données de recommandation; 3. Générer un code de recommandation unique lors de l'enregistrement (peut être implémenté via des événements modèles); 4. Capturez le code de recommandation en interrogeant les paramètres lors de l'enregistrement, établissez une relation de recommandation après vérification et empêchez l'auto-recommandation; 5. Déclencher le mécanisme de récompense lorsque les utilisateurs recommandés terminent le comportement spécifié (ordre d'abonnement); 6. Générer des liens de recommandation partageables et utiliser les URL de signature Laravel pour améliorer la sécurité; 7. Afficher les statistiques de recommandation sur le tableau de bord, telles que le nombre total de recommandations et de nombres convertis; Il est nécessaire de s'assurer que les contraintes de base de données, les séances ou les cookies sont persistées,
