Laravel 迁移 - 永远保留它们?啥是最佳实践?

     2023-03-14     87

关键词:

【中文标题】Laravel 迁移 - 永远保留它们?啥是最佳实践?【英文标题】:Laravel Migrations - keep them forever? What is best practice?Laravel 迁移 - 永远保留它们?什么是最佳实践? 【发布时间】:2015-04-25 03:05:58 【问题描述】:

我已经与 Laravel 合作了大约几个月 - 喜欢它。对建议用于管理数据库更改的工作流有疑问。

我有一个 test 数据库,用于开发我的应用程序,当我相当高兴时,我通过复制 phpMyAdmin 中的结构创建了一个 production 数据库。我在 phpMyAdmin 上构建了初始数据库,因为我不熟悉 Laravel 迁移。

现在我可以更好地了解 Laravel Migrations 的强大功能,并希望使用它们来更新 test 数据库并将这些更改转移到 production。

我的行动方案是什么?我可以删除 app/database/migrations 目录中的所有内容并从头开始吗?在我的 testproduction 环境中调用 php artisan migrate 是否会出现问题?

提前感谢您的回复!

【问题讨论】:

【参考方案1】:

简短的回答:没有问题。如果您只是在 up() 和 down() 方法中添加/更改/删除表/列。

更长的答案:仍然没有问题。只要您不删除不是在 up() 方法中创建的表。

但是,假设您要与另一位开发人员合作,该开发人员也想在本地数据库上进行开发。但是您没有针对它的迁移 - 因此新开发人员需要从测试数据库运行初始结构,然后应用新迁移。

在这种情况下,我将从 1 个大型迁移开始,您在其中创建所有初始表,并在 down() 中删除这些表,因此新开发人员可以运行迁移并开始编码。

编辑:在迁移初始结构之后,只需在开发时添加新结构;)

【讨论】:

在 Laravel 迁移中更改列类型的最佳方法是啥?

】在Laravel迁移中更改列类型的最佳方法是啥?【英文标题】:WhatisthebestwaytochangeacolumntypeinLaravelmigration?在Laravel迁移中更改列类型的最佳方法是什么?【发布时间】:2016-11-1210:46:04【问题描述】:我的数据库中有一个用户表:$tab... 查看详情

harbor和containerd的最佳实栈(代码片段)

...器运行时的工作流或系统需要在升级到1.24版本之前进行迁移。1.23版本将会保留dockershim,对该版本的支持则会再延长一年。\\  本文基于Containerd为容器运行时的kubernetes集群,分析Co 查看详情

如何从 Laravel 项目中删除所有迁移但保留表和字段

】如何从Laravel项目中删除所有迁移但保留表和字段【英文标题】:HowtoremoveallmigrationsfromaLaravelprojectbutkeepthetablesandfields【发布时间】:2019-10-2019:27:01【问题描述】:我决定从Laravel5.7项目中删除所有迁移,因为我宁愿手动创建/更... 查看详情

Laravel 每次迁移多个表

】Laravel每次迁移多个表【英文标题】:Laravelmultipletablespermigration【发布时间】:2014-11-1914:46:06【问题描述】:我是Laravel的新手,所以对这个框架的最佳实践有点陌生。我正在尝试了解使用migrations创建数据库的最佳方法。我在网... 查看详情

如果索引存在于 Laravel 迁移中,如何检查它们?

】如果索引存在于Laravel迁移中,如何检查它们?【英文标题】:HowcanindexesbecheckediftheyexistinaLaravelmigration?【发布时间】:2018-02-0314:20:57【问题描述】:在准备迁移时尝试检查表上是否存在唯一索引,如何实现?Schema::table(\'persons\... 查看详情

Laravel 分组路由啥是最好的前缀或中间件

】Laravel分组路由啥是最好的前缀或中间件【英文标题】:LaravelgroupingrouteswhatisbestprefixormiddlewareLaravel分组路由什么是最好的前缀或中间件【发布时间】:2018-06-0805:12:42【问题描述】:当我开始考虑对路线进行分组并查看文档时。... 查看详情

Laravel 迁移字符串(MySQL VarChar)与文本 - 何时使用它们?它们有何不同?

】Laravel迁移字符串(MySQLVarChar)与文本-何时使用它们?它们有何不同?【英文标题】:LaravelMigrationsString(MySQLVarChar)vsText-Whentousethem?Howdotheydiffer?【发布时间】:2021-10-2223:11:24【问题描述】:Laravel关于迁移列的文档声明支持文本... 查看详情

将迁移标记为在 laravel 中运行

】将迁移标记为在laravel中运行【英文标题】:Markmigrationasruninlaravel【发布时间】:2018-08-0403:30:16【问题描述】:我的迁移失败了,所以我只是在MySQLWorkbench中手动运行了一个查询。是否有工匠命令将迁移标记为完成?这样当我运... 查看详情

Laravel VueJs 的最佳组合是怎样的? [关闭]

】LaravelVueJs的最佳组合是怎样的?[关闭]【英文标题】:HowisthebestcombinationforLaravelVueJs?[closed]【发布时间】:2019-09-1317:53:44【问题描述】:实际上我只是了解了Vue.js,并且我对使用Laravel有一些了解。我想将它们结合起来,我在互... 查看详情

Laravel 寻找其他迁移

】Laravel寻找其他迁移【英文标题】:Laravellooksforothermigrations【发布时间】:2015-06-2302:37:12【问题描述】:我有两个Laravel项目。它们位于不同的文件夹中。在那之前没关系。目前我的项目使用Laravel5。最后一个。我尝试迁移一个... 查看详情

Laravel :: 更新外键的最佳方法

】Laravel::更新外键的最佳方法【英文标题】:Laravel::Bestwaytoupdateaforeignkey【发布时间】:2016-11-2012:38:55【问题描述】:我有这个迁移文件Schema::create(\'table_one\',function(Blueprint$table)$table->increments(\'id\');$table->string(\'name\');$table- 查看详情

Laravel:+100 表...是不是使用迁移?

】Laravel:+100表...是不是使用迁移?【英文标题】:Laravel:+100Tables...UseMigrationsornot?Laravel:+100表...是否使用迁移?【发布时间】:2016-09-1002:39:38【问题描述】:我遇到了这样一种情况,即拥有数百个数据库表并将它们全部重写到L... 查看详情

Laravel 数据库迁移外键错误

】Laravel数据库迁移外键错误【英文标题】:LaravelDatabaseMigrationforeignkeyerror【发布时间】:2015-03-0212:57:32【问题描述】:我有两个表,即交易和付款,它们在过去的迁移中已经存在。当我尝试在它们之间创建一个数据透视表时,... 查看详情

CoreData 到 CloudKit 的迁移

】CoreData到CloudKit的迁移【英文标题】:CoreDatatoCloudKitmigration【发布时间】:2017-05-2504:21:59【问题描述】:从CoreData迁移到CloudKit并保留所有用户数据的最佳方式是什么?我想退役Core-Data并用CloudKit替换它,但用户有大量重要数据... 查看详情

Laravel 从数据库生成迁移

】Laravel从数据库生成迁移【英文标题】:Laravelgeneratemigrationsfromdatabase【发布时间】:2016-06-0920:25:03【问题描述】:我的应用程序有一个数据库。我喜欢从这个现有的表中生成迁移。我试图用this生成器来做这个,但这对我没有帮... 查看详情

Laravel 迁移:基表或视图已经存在

】Laravel迁移:基表或视图已经存在【英文标题】:LaravelMigration:Basetableorviewalreadyexists【发布时间】:2019-12-3006:38:45【问题描述】:背景我们从一开始就在我们的一个项目中使用Laravel(5.8)迁移。在开发过程中,我们进行了一些迁... 查看详情

Laravel 5.5 中的迁移问题

】Laravel5.5中的迁移问题【英文标题】:ProblemswithmigrationsinLaravel5.5【发布时间】:2018-04-2616:50:56【问题描述】:我的Laravel设置发生了一些非常奇怪的事情。我创建了一些迁移文件,并且在创建每个迁移文件后运行phpartisanmigrate时... 查看详情

完全重置 Laravel 5 迁移的东西?

】完全重置Laravel5迁移的东西?【英文标题】:CompletelyResetingLaravel5MigrationStuff?【发布时间】:2015-06-0300:45:18【问题描述】:长话短说,我在本地机器上完全搞砸了Laravel迁移。它们100%无法使用。我是第一次使用Laravel5,所以可以... 查看详情