laravel5.5 根据数据迁移文件构建数据库和填充数据

Laravel迁移与填充:构建可版本化抽象数据库层 在现代PHP工程实践中,数据库不应是散落的SQL脚本或手动维护的物理实例,而应成为与代码同生命周期演进的逻辑契约。Laravel迁移(Migrations)通过时间戳有序的PHP类定义表结构、索引与约束,实现数据库演化的可追溯与可回滚;填充器(Seeders)则以业务语义明确的初始数据(如roles、permissions、admin用户)保障系统启动态的一致性。二者协同构成‘抽象数据库’核心——它屏蔽底层DBMS差异(MySQL/PostgreSQL/SQLite),支撑CI/CD自动化验证、多环境无缝切 阅读详情

一、背景

    新公司的项目是在coding版本仓库中,领导把我coding账号添加到项目成员后就叫我开始熟悉代码,没给数据库账密,laravel5.5又是第一次接触,有点懵圈……

    一个同事提示说laravel5.5里面有种文件是数据库迁移文件,然后抓住这个信息,开始百度+谷歌,终于,花了一下午时间把laravel5.5的迁移基本搞清楚怎么操作,并根据迁移文件搭建了本地数据库,填充数据。

    如果是新手,操作前可以先尝试用一个新的laravel项目来学习数据迁移的概念,找找感觉:

    1. 数据库迁移官方手册

    2. Laravel 实践之路: 数据库迁移与数据填充

二、迁移文件转数据库步骤

1. 创建数据库,如laravel

2. 配置数据库连接信息(.env)

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=123456

3.  安装composer包

composer update

4. 在dos操作界面(win+R,cmd)跳转到项目根目录,执行命令安装Laravel的Migrations:

php artisan migrate:install

5. 执行根据迁移文件搭建数据库结构命令

php artisan migrate

  注意:如果报class或者Service等不存在的错误,直接执行以下命令,然后再重新执行上一步迁移命令:

composer update --no-scripts

6. 执行批量填充命令

php artisan db:seed

  注意:填充数据信息在/database/seeds/ 文件夹下,其中DatabaseSeeder.php可以将其他填充文件写在一起进行批量填充,如果没有将其他填充文件对应的类名写入DatabaseSeeder.php的run方法中,则不会执行对应的填充。

laravel框架数据库迁移 前言 数据库迁移其实很好理解,传统开发中我们建表的时候是借助一些工具,比如phpMyAdmin、Navicat等。这样做有一个问题,就是在我们开发工程中或是版本迭代过程中,我们往往会对之前的表结构进行调整、更改等,修改1次或两次还好,如果修改的次数多了,容易忘记。数据库迁移是用文件操作数据表结构,每一次修改都会有记录,这样我们就可以看到每次修改的记录。另一方面直接操作线上的表结构还有一定的风险... 阅读详情

相关推荐

laravel8的数据表迁移及工厂模式数据填充

1.用数据迁移的方式创建数据表及用数据填充的方式填充测试数据会比较方便便捷,第一步在安装好框架以后我们先需要在.env文件中设置数据库的连接,然后把database文件夹下migrations文件夹中的四个文件先删除掉。3生成迁移文件以后需要在app文件下的Providers下的AppServiceProvider.php里面更改设置。4.之后打开生成的迁移文件开始设置表中需要的字段。7.之后在模型工厂中填写需要填充的数据。9.在填充文件中调用工厂填充数据。8.需要执行命令生成填充文件。...

guo19950914的博客 606

Laravel数据库迁移和填充(支持中文)

写在前面 经常我们做项目都团队协作开发,每个人都在自己本地的数据库,如果你曾经出现过让同事手动在数据库结构中添加字段的情况,数据库迁移可以解决你这个问题。 不仅如此,在线上部署的时候,也避免了手动导入数据库或手动修改数据结构的麻烦,数据迁移帮你方便的维护着数据结构。 数据填充,让我们测试的时候需要大量的假数据不再一条一条的去造数据,可以轻...

weixin_33842304的博客 273

laravel-dacapo:Laravel迁移支持工具,始终在schema.yml上生成最新的迁移文件

Laravel-Dacapo 介绍 Dacapo是Laravel迁移文件创建支持库。 在模式yml文件中定义表结构,始终生成最新且整洁的迁移文件。 该库仅在编码阶段使用。 在操作阶段,请卸载并恢复到正常的迁移操作。 安装 $ composer require --dev ucan-lab/laravel-dacapo 用法 生成默认schema.yml $ php artisan dacapo:init database/schemas/default.yml默认情况下,会生成Laravel8的模式文件。 users : columns : id : bigIncrements name : string email : type : string unique : true email_verified_at :

Laravel根据已有的数据表结构自动生成迁移文件

laravel数据表自动生成迁移文件

木易慕翊 1710

如何在两台电脑间,实现zotero文件和数据两种类型的双向同步

在完成本文配置后,可以在两台不同的电脑间,通过两步简单操作实现zotero数据和文件的双向同步,并且全程免费首先,打开zotero->编辑->首选项->高级->文件与文件夹,配置链接附件根目录以及数据存储位置,前者将pdf文件通过相对地址形式存于zotero中(而非真正的pdf文件),后者则是设置用户本地数据的地址建议设置在数据盘D盘,可以避免后续对盘名的修改(因为基本每个电脑都存在C盘和D盘)然后,同一页面下,打开同步,配置数据以及文件同步方式。数据同步保持默认即可,文件同步选择WebDav,然后去坚果云

weixin_43008154的博客 1万+

Cesium中实现阴影率分析

看到群里有人在研究这个,所以看了一下。主要是模仿超图的,实现原理超图有做回答:但其实超图的这个实现方式还是过于复杂,原因是:既然是获取太阳的日照阴影,而Cesium中原本就存在太阳,且能投射阴影,因此其实并不需要再次计算太阳位置并计算视锥获取深度图,直接使用Cesium原生的太阳深度图即可。

weixin_43481439的博客 2217

Laravel 数据迁移

数据迁移的基础

Blank_zero_的博客 915

告别编译报错!STC32G12K128在Keil C251下的完整Target配置指南(附ROM设置详解)

本文详细介绍了STC32G12K128在Keil C251下的完整Target配置指南,包括ROM设置、CPU模式选择、内存模型优化等关键步骤。通过实战技巧和常见错误解决方案,帮助开发者高效搭建编译环境,避免常见报错,充分发挥STC32G系列芯片的性能优势。

weixin_29186249的博客 339

Laravel Migrations Generator自动生成数据迁移工具使用教程

Laravel Migrations Generator是自动生成数据库迁移文件的工具。0.准备工作Laravel5.5及以上版本,确保正确创建数据库以及数据库配置正确。1.安装:项目目录下执行:composer require --dev "xethron/migrations-generator"2.使用:为当前数据库所有数据表生成数据库迁移文件:php artisan migrate:gen...

Drake_Guo的博客 4302

【编译原理】龙书第三章作业答案

【编译原理】龙书第三章作业答案 练习3.1.1:根据3.1.2节中的讨论,将下面的C++程序划分成正确的词素序列。哪些词素应该有相关联的词法值?应该具有什么值? 答案: 左列为词素,右列为值,划分如下: < float> 值为它本身 <id,limitedSquare> 值为*limitedSquare指针 <(> 标点符号无值 ...

作业报告杂物间 2万+

【读代码】TradingAgents:基于多智能体LLM的金融交易框架深度解析

TradingAgents是由Tauric Research团队开源的创新型金融交易框架,其核心思想是通过多智能体协作系统模拟专业交易机构的决策流程。项目采用模块化设计,整合了LLM、实时数据分析、风险控制等组件,实现了从市场分析到交易执行的完整闭环。

kakaZhui的博客 2004

laravel - 根据数据库逆向生成迁移文件

因为平时在用Mybatis的时候可以根据数据库逆向生成文件,我就在想laravel是不是也可以这么做,然后去网上找了一大堆,发现都在推“xethron/migrations-generator”这个库,但是很明显作者从2017年之后,就没有再维护过了,很显然是不适合laravel9.x去用的,所以我找到了一个可以完美平替的库。之后使用laravel的artisan就可以逆向生成迁移文件了。这样我们就以一个非常优美的姿势逆向生成出了所有的迁移文件。

MoLeft's Blog 843

OpenResty无损升级内嵌nginx版本0DAY漏洞

OpenResty无损升级内嵌nginx版本,nginx

qq1071643762的博客 6904

一文快速搞定laravel数据填充与数据迁移

原文地址:https://www.wjcms.net/archives/laravel%E5%B0%8F%E5%AE%9E%E4%BE%8B%E4%B8%80%E6%96%87%E5%BF%AB%E9%80%9F%E5%AD%A6%E4%BC%9Alaravel%E6%95%B0%E6%8D%AE%E5%A1%AB%E5%85%85 导语 项目开发时,一般都会有到项目测试数据的准备操作,以前都是基于PHP代码自主编写sql语句,然后循环的插入到数据库中里面,当当我们接触过laravel数据库后,就可以很.

wjcms的博客 678

Anaconda数据报错:Fatal error in launcher: Unable to create process using ‘“E:\Anaconda\python.exe“ “D:\

里面的pip.exe程序出现了问题,我这里直接删除,重新安装解决,上面已经手动删除pip.exe删除pip.exe,重新安装pip.exe用下面命令: 测试是否成功成功解决

Deng872347348的博客 1270

C盘在同一时间突然多出100g的文件,请问是什么原因,以及是否能删除?

🏆本文收录于 《全栈Bug调优(实战版)》 专栏,该专栏专注于分享我在真实项目开发中遇到的各类疑难Bug及其深层成因,并系统提供高效、可复现的解决思路和实操方案。无论你是刚入行的新手开发者,还是拥有多年项目经验的资深工程师,本专栏都将为你提供一条系统化、高质量的问题排查与优化路径,助力你加速成长,攻克技术壁垒,迈向技术价值最大化与职业发展的更高峰🚀!

**My Coding Family** 1762

laravel框架总结 -- 数据迁移和数据填充

一.数据迁移 1.创建一个迁移 1>使用artisan命令make:migration来创建一个新的迁移:     php artisan make:migration create_sutdents_table 新的迁移位于database/migrations目录下,每个迁移文件名都包含时间戳从而允许Laravel判断其顺序。 2>其他一些选项   --table用来指

weixin_39363163的博客 556

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

laravel 的数据库迁移与数据填充

什么是数据库迁移? laravel 的简介是 数据库迁移就像是数据库的 版本控制,可以让你的团队轻松修改并共享应用程序的数据库结构。迁移通常与 Laravel 的数据库结构生成器配合使用,让你轻松地构建数据库结构。如果你曾经试过让同事手动在数据库结构中添加字段,那么数据库迁移可以让你不再需要做这样的事情。 Laravel Schema facade 对所有 Laravel...

YX丶M 750

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

laravel学习-数据的迁移和填充

数据库的配置 .env文件 DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=laravel DB_USERNAME=root DB_PASSWORD=root config/database.php 默认是mysql,可以改成你指定的数据库。再去connections 数据迁移 使用 make:migration Artisan 命令 来创建迁移。新的迁移文件会放在 database/migrations 目录。所有的迁移

weixin_54931703的博客 863

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Laravel入门-数据库的配置

本文将从Laravel数据库的以下四个方面谈起: 数据库的连接、数据对象等文件的构建、数据迁移、数据填充。 【操作系统】 Apple Mac M1 macOS Big Sur 版本 11.6 【工程环境】 MAMP Version 6.3 PHP Version 8.0.0 Mysql Version 5.7.32 一、【数据库的连接】 首先打开MAMP,运行其中的Mysql数据库,注意更改其中的端口,以免发生冲突(我的Mysql端口设置为8890)。接下里在Laravel项目中进行数据库相关文件的配置。

时间进行的小宇的博客 2760

laravel 数据迁移与填充

数据表的迁移与填充: 迁移: 创建数据表,删除数据表,修改数据表。 填充: 往数据表里填充写入测试的数据。 一定是先迁移再填充 数据表迁移操作: (1)创建与编写迁移文件 php artisan make:migration 迁移文件名 在laravel文件目录下打开命令行窗口,输入php artisan make:migration create_paper_table 就是在da...

qq_45844648的博客 561

apache2.4打开laravel项目_一文快速搞定laravel数据填充与数据迁移

原文地址:https://www.wjcms.net/archives/laravel%E5%B0%8F%E5%AE%9E%E4%BE%8B%E4%B8%80%E6%96%87%E5%BF%AB%E9%80%9F%E5%AD%A6%E4%BC%9Alaravel%E6%95%B0%E6%8D%AE%E5%A1%AB%E5%85%85 导语 项目开发时,一般都会有到项目测试数据的准备操作,以前都是...

weixin_31653971的博客 155

laravel数据迁移和填充

F:\xampp\htdocs\meeting>php artisan migrate    F:\xampp\htdocs\meeting>php artisan db:seed --class=PlaceSeeder F:\xampp\htdocs\meeting>php artisan db:seed --class=MeetingSeeder  创建数据库迁移

xiaosevenliang的专栏 489

Laravel——数据库

数据迁移 database/migrations/ 生成新增数据表迁移文件 php artisan make:migration create_users_table 复制代码class CreateFlightsTable extends Migration { /** * 用于添加新的数据表, 字段或者索引到数据库 */ public function up...

weixin_34015860的博客 276

laravel 数据迁移

数据迁移是干什么的 数据库迁移就像是数据库的版本控制,可以让你的团队轻松修改并共享应用程序的数据库结构。迁移通常与 Laravel 的数据库结构生成器配合使用,让你轻松地构建数据库结构。如果你曾经试过让同事手动在数据库结构中添加字段,那么数据库迁移可以让你不再需要做这样的事情。 类似于代码的版本控制工具 目的:实现多人协同开发 版本控制软件提供完备的版本管理功能,用于存储、追踪目录(文件夹)和文件...

Ryanking1的博客 670

Laravel 5 Database Migration & Seeding

Laravel5 Database Migrations & SeedingLaravel在數據庫的建立上是非常的簡單,. 參考Here檢查自己的遷移數據通常在專案的目錄下app/database/migrations 目錄下會有如下的檔案:當執行了底下的命令後將與數據庫做異動同步檢查,數據庫不存在則建立,不同則同步異動。然後再進入phpMyAdmin中可以看到該數據庫已經建立了。如果進一步執行p

引力行者的专栏 459
上一篇: Laravel5.5添加新路由文件并制定规则
下一篇: laravel5.5数据库迁移入门实践
追风2019
博客等级 码龄11年 846粉丝 117原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值