首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

laravel数据迁移

数据迁移 迁移就像是数据库的版本控制, 允许团队简单轻松的编辑并共享应用的数据库表结构,迁移通常和 Laravel 的 数据库结构生成器配合使用,让你轻松地构建数据库结构。...每个迁移文件名都包含时间戳,以便让 Laravel 确认迁移的顺序。 --table和--create选项可用来指定数据表的名称,或是该迁移被执行时是否将创建的新数据表。...如果要强制忽略系统的提示运行命令, 则可以使用--force标记: php artisan migrate --force 复制代码 回滚迁移 若要回滚最后一次迁移, 可以使用rollback命令。...这个命令可以高效地重建整个数据库: php artisan migrate:refresh // Refresh the database and run all database seeds...

1.9K40

PHP-Laravel目录结构分析

(2)bootstrap目录,laravel启动目录 ? (3)config目录,项目的配置目录,主要存放配置文件,比如数据库的配置 ?...factories:存放一些工厂模式需要用的一些文件; migrations:迁移,存放的是迁移文件(创建/删除/修改数据表操作的类文件); seeds:播种、种子,存放的是种子(填充器)文件(模拟向数据表中写入数据的操作类...app:保存用户上传文件的路径; framework:框架自带的文件存储目录; logs:框架的日志文件存储位置; (9)vendor目录,主要是存放第三方的类库文件,laravel思想主要是共同的开发...,不要重复的造轮子(例如,里面可能存在验证码类,上传类,邮件类),该目录还存放laravel框架的源码。

2K20
您找到你想要的搜索结果了吗?
是的
没有找到

Laravel代码简洁之道和性能优化

经过一番调研之后发现了一个堪称神器的扩展:laravel-upsert 这个 Laravel 扩展为查询构建器和 Eloquent 添加了对 INSERT & UPDATE (UPSERT) 和 INSERT...IGNORE 的支持 先简单说明一下业务场景: 首先表结构设计是:互相喜欢和添加联系人都是双向关系,即入库A B,B A这样成对的双向数据 触发互相喜欢,插入2条双向数据,插入之前校验是否存在,存在不重复添加...第二个参数是唯一标识记录的。除 SQL Server 外的所有数据库都要求这些具有PRIMARY或UNIQUE索引。 提供要更新的列作为第三个参数(可选)。默认情况下,将更新所有。...您还可以在忽略重复键错误的同时插入记录: Schema :: create ( 'users' , function ( Blueprint $ table ) { $ table ->...upsert()还将添加updated_at到更新的中。

5.7K20

3分钟短文:Laravel说要用软删除,可不要真删

物理删除 其实就是真实地把数据从数据库条目清除,laravel模型提供了开箱即用的方法。...比如下面这样使用: $event = Event::find(12); $event->delete(); 首先使用primary key查询出需要的条目,返回一个Event对象实例,然后调用 delete...Laravel本身支持软删除,只需要进行少量的配置更改,以确保在执行delete或destroy时,模型的记录不会被实际删除。作为一个例子,我们修改Event模型以支持软删除。...首先创建一个新的迁移,将名为deleted_at的添加到events表中: php artisan make:migration add_soft_delete_to_events --table=events...$dates = ['created_at','deleted_at','started_at','updated_at']; } 保存这些更改之后,下次删除与此模型关联的记录时,deleted_at将被设置为当前时间

2.1K00

Redis 分布式锁在 Laravel 任务调度底层实现中的应用

光定义这些调度任务是没用的,还需要为其定义执行的入口,为此,我们需要在当前系统(类 Unix 系统)的 Cron 条目中新增如下这个 Shell 调度任务: * * * * * php /path/to...可以看到,Laravel 底层其实还是通过类似 Cron 条目的 Shell 命令去执行调度任务的,只不过通过 Event 对象对其进行了封装。...方法判断当前调度任务是否到期可以执行(后面的 runsInEnvironment 方法用于验证是否满足定义调度任务时设置的环境约束,比如只在测试环境运行,而当前环境是生产环境,则不会运行这个调度任务,这里我们没有设置,可以忽略...对于循环遍历的每一个调度任务对象,先运行对象实例(Event)上的 filtersPass 方法判断当前任务是否需要跳过,如果定义调度任务时通过 when 方法设置了执行条件,则会调用对应的回调函数进行判断,否则忽略...可以看到,在 Laravel 底层,其实是通过面向对象的 PHP 代码对 Cron 条目 Shell 命令进行了封装,以便通过更加灵活的方式来管理和维护调度任务的运行。

6.2K21

Laravel 模型关联基础教程详解

Laravel 中定义模型关联是每个 Laravel 开发者可能已经做过不止一次的事情。但是在试图实现关联时可能会遇到各种问题。因为 Laravel 有各种各样的关联,你应该选择哪一个?...Laravel 的模型关联可能会让人糊涂。如果你不完全理解 Laravel 的关联在这一点上是如何工作的,别担心,读完这篇文章后,你会更好地理解它。 我们应该使用哪个模型关联?...idproducts: - id - supplier_idproduct_history: - id - product_id 即使 product_history 表不包含 supplier_id ,...让我们使用前面的示例,但我们改变一件事:产品现在可以有多个历史条目而不是一个。 数据库表保持不变。 <?...return $this- hasManyThrough(App\History::class, App\Product::class); } } 这样,供应商模型可以访问产品的历史记录条目

5.5K31

3分钟短文:Laravel模型写操作很简单,大多数人容易用错

引言 前几期我们通过laravel模型的读操作方法,实现了很多花样繁多的条件筛选查询, 可以说足以应对大多数的场景。 ? 本期说说写操作的那些事,包括创建,修改,这些直接操作数据库数据的操作方法。...代码时间 先说说创建条目,数据库内原本不存在,直接新建一个条目的操作。...创建条目本身的逻辑没有太过复杂,我们接着看看更新操作,因为需要额外查询一次数据库,将存在的条目取出来, 然后对其数据重新操作,再更新到数据库,所以要绕多一些弯弯。...或者使用相反的方式,字段太多,不能一一举, 就使用保护字段,指定哪些不可填充: protected $guarded = ['id', 'created_at', 'updated_at', 'owner_id...会根据 email 字段的值查找条目,如果没有则创建。 写在最后 本文主要讲解了通过模型创建数据条目,或更新条目。其中最关键的还是 模型字段的属性保护,指定可以写入的数据,并使用过滤器进行筛选。

51720

VTK:实现光照效果,从一根线到一个面

设置光线(update_lights函数)   6、设置一个场来显示光的作用(update_shadow函数)   7、结果的闪亮登场 可视化   8、结束(附全部代码)   一个简单的操作,如果没有变化,重复一万次...一个简单的操作,如果有2个变量,重复一万次,就是一个系统。   1、从一个简单的案例说起   pyvita里有一个案例。寻找从一个点出发与网格相交点的例子。   ...我们是在从点光源出发之后的,底面上散点,来确定光线个数的。   4、网格导入和基本初始化(update_grid函数)   第一件事,我们得处理一下网格。..., j_resolution=self.seeds)   # 定义终点   stops=[]   for point in plane.points:   x1=point[0]   y1=point[...=10):   self.direction=direction   self.source=source   self.angle=angle/180*np.pi   self.seeds=seeds

1.3K30

JAR 文件规范详解

不是所有在JAR文件中的文件都需要被作为条目在清单中,但是所有被签名的文件必须被列出。清单文件自身不需要被列出。...大小写被忽略,magic属性的确切含义是依赖于具体的应用程序。这些值指示如何计算清单条目中包含的散值,因此对于签名的正确验证至关重要。...关键字可以用于动态或嵌入式内容,可以用于多语言文档的多个散,等等。...② 属性:在所有情况下,对于所有部分,不理解的属性将被忽略;属性名称不区分大小写,然而,生成清单和签名文件的程序应该使用本规范中所示的情况;属性名不能在节中重复。...如果结果URL无效或引用了无法找到的资源,则将忽略它。生成的URL用于扩展应用程序、applet或servlet的类路径,方法是在类路径中紧跟着包含JAR文件的URL插入URL。省略任何重复的url。

1.3K10
领券