问题标签 [laravel-migrations]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
31247 浏览

laravel - 如何在 Laravel 迁移中设置默认 DateTime()?

我正在尝试实现如下所示的功能:

这个确切的代码失败了,因为

[ErrorException]
DateTime 类的对象无法转换为字符串

另一个问题是,我觉得应该有更强大/优雅的方式来解决这个问题。那么,如何DateTime在迁移中正确设置默认值呢?

0 投票
1 回答
17515 浏览

laravel - Laravel 迁移:添加具有现有列默认值的列

我需要在实时站点的表上添加 last_activity 列,我必须将其默认值设置为等于 updated_at 列值。我正在使用 laravel 5.1 和 mysql 数据库驱动程序。

谢谢。

0 投票
2 回答
1341 浏览

laravel - 使用 Laravel 5 更新数据库表时,有没有办法保留数据?

我有一个工作的 Laravel 应用程序,我需要更新一个模型并向数据库添加一个新列。为此,我将以下代码添加到 database/migrations/table.php 文件中:

当我尝试更新数据库(使用php artisan migrate)时,我收到消息“Nothing to migrate”。我注意到应用此更改的唯一方法是执行php artisan migrate:refresh或重置,但是这两个命令都会删除数据库中的每一行。

无论如何更新我的数据库列而不删除所有内容?

0 投票
1 回答
988 浏览

laravel-5 - 带有工匠迁移的 laravel 更新表

我只是创建一个迁移并使用命令运行迁移,这里是我键入的命令和我得到的结果;

这是我简单地添加新列('purchase')的新迁移文件内容:

你认为这会导致什么?

0 投票
2 回答
7375 浏览

laravel - 如何在 Laravel 5 迁移中向表(不是列)添加注释?

如何在 Laravel 5 迁移中向表(ot 列)添加注释?

我目前知道如何向列添加评论,例如:

但是桌子呢?

0 投票
1 回答
24601 浏览

php - 如何在迁移中从表中删除 softDeletes

我在迁移中将软删除列添加到我的表中:

down()但是,如果我回滚迁移,如何在我的函数中删除这些?是否有内置方法可以执行此操作,还是我只是手动删除添加的列?

0 投票
2 回答
2513 浏览

laravel - 如何在迁移中定义外键?

问题

我想向表中添加外键。当我运行我的第一次迁移create_posts_table时,如下所示:

抛出以下错误:

[照亮\数据库\查询异常] SQLSTATE [HY000]:

一般错误:1215 无法添加外键约束(SQL: 删除级联时更改表posts添加约束posts_user_id_foreign外键(user_id)引用users( ))id

这是因为该users 表尚未创建,因此未能在该表上创建用户的引用外键posts

可能的解决方案

解决这个问题的方法是在所有表都创建完成后,通过新的迁移添加外键。但是,这对我来说似乎很笨拙。

问题

如何在各自表的迁移中定义外键,而不是在创建所有表后使用不同的迁移单独添加它们?

0 投票
5 回答
91799 浏览

laravel - Laravel 迁移将列类型从 varchar 更改为 longText

我需要将迁移列类型更改$table->string('text');为文本类型,我尝试以几种方式做到这一点,但都没有奏效。是否可以在一次迁移中完成?我可以猜测删除该列,然后使用新类型再次创建它,但我想知道是否可以在一次迁移中做到这一点?

0 投票
1 回答
366 浏览

git - 自动运行 Laravel 迁移的 Git 钩子

我即将通过创建 2 个钩子来混淆,但我只是想检查是否有人已经有了这些钩子,或者可能是一个更好的主意。

pre-push:使用 git diff --stat --cached origin/master 查看是否正在推送“迁移”。如果是这样,那么在推送之前备份数据库。

接收后:运行迁移

0 投票
2 回答
985 浏览

php - Laravel 5.2:使用用户输入更新 .env 文件并通过代码运行迁移

我正在创建一个应用程序,并计划为用户提供一键式安装功能。这个想法是在应用程序首次启动时显示一个表单,类似于安装/配置屏幕,用户将在其中输入数据库详细信息(主机名、数据库名称、用户名和密码)并输入用户详细信息(默认管理员的电子邮件、用户名和密码)帐户)。一旦他提交表格,我想做以下任务:

  1. 使用主机名、数据库名称、用户名和密码更新 .env 文件
  2. 运行所有迁移
  3. 运行所有 db:seeds
  4. 根据用户输入创建用户(这不是什么大问题)

是否可以通过代码进行?我试图用谷歌搜索,但找不到任何帮助。

正如标题所说,我在这个项目中使用了 L5.2。