Cet article vous apporte des connaissances pertinentes sur laravel, qui présente principalement les problèmes liés aux fichiers de migration. Le fichier de migration est en fait un contrôle de version relatif à la base de données, nous permettant de définir et de partager facilement le programme. certaines structures de données. J'espère que cela sera utile à tout le monde.
【Recommandation associée : tutoriel vidéo laravel】
Le fichier de migration est en fait un contrôle de version relatif à la base de données, ce qui nous permet de définir et de partager facilement certaines structures de données dans le programme. Il correspond généralement à une structure de notre base de données. La migration peut facilement générer la structure de données de. la demande. Si un membre est ajouté à un champ dans l'environnement de base de données locale, nous pouvons effectuer des opérations sur lui via la migration.
Il existe deux types de migrations, l'une consiste à créer la migration et l'autre à écrire et exécuter le fichier de migration. Le numéro au début du nom du fichier est l'heure
文件名开头的数字是时间
我们点开看一下
另外两个文件也大同小异,这些都是laravel 8 框架默认定义的一些表,如果我们在这里执行迁移文件的话,如果我们不需要用到这些表(user表、密码表、jobs表),最好
去删除它,不然我们在数据库里面可能会看到这三张表的存在!!!
创建一个 书表book
id 主键
b_name 书名
b_pirce 书的价格
b_num 书数量
artisan 脚手架命令:名字我们照着默认去编写 create_表名_table
php artisan make:migration create_book_table
创建之后文件名字前面会自带时间
increments(‘id’) 创建自增 id 的方法
comment(‘注释’)添加注释
string(‘字段名’ , ‘长度’) 创建字段 类型是string
integer(‘字段名’) 创建字段 类型是int
decimal(‘字段名’ [,长度,小数点后面几位精确度]) 专门用来存放小数的类型,默认8,2
$table->charset=‘utf8mb4’; 定义字符编码
<?phpuse Illuminate\Database\Migrations\Migration;use Illuminate\Database\Schema\Blueprint;use Illuminate\Support\Facades\Schema;class CreateBookTable extends Migration{ /** * Run the migrations. * * @return void */ public function up() { Schema::create('book', function (Blueprint $table) { $table->increments('id')->comment('主键'); $table->string('b_name','32')->comment('书名'); $table->decimal('b_price')->comment('书的价格'); $table->integer('b_num')->comment('书的数量'); $table->charset='utf8mb4';//定义字符编码 }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::dropIfExists('book'); }}
用迁移文件之前我们还需要运行一个命令,也就是记录到我们每一次创建表的参数一张表,也就是migrations的表,方便以后我们创建表的时候去看到创建有哪些表是通过迁移文件创建的,我们需要记录这样一些东西。
php artisan migrate:install
我们在创建完这个表之后我们就可以在数据表里面看到我们迁移文件运行的编号,以及执行过迁移文件的名字。
运行完这个命令,数据库多了一张表:
我们运行刚刚创建的文件名,看看是否有去记录到
php artisan migrate
我们再刷新一下,看看book表
执行单个迁移文件: --path=/database/migrations/文件名
>php artisan migrate --path=/database/migrations/2022_04_04_121049_create_book_table.php
php artisan migrate:rollback
回滚之后表就不能存在了,记录也没了,也清除了。
Les deux autres fichiers sont également similaires. Ce sont des tables définies par défaut par le framework laravel 8. Si nous exécutons le fichier de migration ici , si nous ne le faisons pas, nous devons utiliser ces tables (table des utilisateurs, table des mots de passe, table des tâches).
注
Cliquons pour y jeter un œil
Il est préférable
de le supprimer, sinon nous pourrions voir l'existence de ces trois tables dans. la base de données ! ! !
Créer un fichier de migrationCréer un livre table livre id clé primaire
b_name titre du livre 🎜 b_pirce prix du livre 🎜 b_num quantité de livres 🎜🎜commande d'échafaudage artisanal : Pour le nom, on écritcreate_table_table selon la valeur par défaut
🎜php artisan migrate:rollback --step=5🎜Après la création, le nom du fichier aura l'heure devant lui🎜🎜🎜
🎜increments('id') méthode pour créer un identifiant auto-incrémenté🎜 comment('comment') pour ajouter un commentaire🎜 string('field name' , 'length') pour créer un champ Le type est string🎜 integer('field name') Le type de champ créé est int🎜 decimal('field name' [, length, précision après la virgule]) Un type spécialement utilisé pour stocker les décimales, la valeur par défaut est 8,2🎜 $table ->charset='utf8mb4'; Définir le codage des caractères🎜🎜rrreee🎜Exécuter le fichier de migration🎜🎜Avant d'utiliser le fichier de migration, nous devons exécuter une commande, qui est pour enregistrer les paramètres de chaque table que nous créons dans un tableau, c'est-à-dire que le tableau des migrations nous permet de voir quelles tables ont été créées via les fichiers de migration lorsque nous créerons des tables à l'avenir. 🎜rrreee🎜Après avoir créé ce tableau, nous pouvons voir le numéro d'exécution de notre fichier de migration et le nom du fichier de migration exécuté dans le tableau de données. 🎜🎜🎜Après avoir exécuté cette commande, il y a une table supplémentaire dans la base de données : 🎜🎜🎜🎜Nous exécutons le nom du fichier que nous venons de créer pour voir s'il est enregistré🎜rrreee🎜🎜🎜Rafraîchissons à nouveau et jetons un coup d'œil à la table des livres🎜🎜 Exécuter un seul fichier de migration : --path=/database/migrations/filename🎜rrreee🎜Opération de restauration/Supprimer ceci la table 🎜rrreee🎜 n'existera plus après la restauration, et les enregistrements disparaîtront et seront effacés. 🎜🎜Remarque
: Ne changez pas facilement le nom du fichier de migration après avoir exécuté le fichier de migration, sinon la restauration ne sera pas possible et le nom du fichier de migration précédemment créé ne sera pas trouvé. 🎜🎜🎜Rollback🎜nombre spécifié de migrations🎜 : --step=premiers fichiers🎜rrreee🎜[Recommandations associées : 🎜tutoriel 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!