问题标签 [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.
laravel - 如何在 Laravel 迁移中设置默认 DateTime()?
我正在尝试实现如下所示的功能:
这个确切的代码失败了,因为
[ErrorException]
DateTime 类的对象无法转换为字符串
另一个问题是,我觉得应该有更强大/优雅的方式来解决这个问题。那么,如何DateTime
在迁移中正确设置默认值呢?
laravel - Laravel 迁移:添加具有现有列默认值的列
我需要在实时站点的表上添加 last_activity 列,我必须将其默认值设置为等于 updated_at 列值。我正在使用 laravel 5.1 和 mysql 数据库驱动程序。
谢谢。
laravel - 使用 Laravel 5 更新数据库表时,有没有办法保留数据?
我有一个工作的 Laravel 应用程序,我需要更新一个模型并向数据库添加一个新列。为此,我将以下代码添加到 database/migrations/table.php 文件中:
当我尝试更新数据库(使用php artisan migrate
)时,我收到消息“Nothing to migrate”。我注意到应用此更改的唯一方法是执行php artisan migrate:refresh
或重置,但是这两个命令都会删除数据库中的每一行。
无论如何更新我的数据库列而不删除所有内容?
laravel-5 - 带有工匠迁移的 laravel 更新表
我只是创建一个迁移并使用命令运行迁移,这里是我键入的命令和我得到的结果;
这是我简单地添加新列('purchase')的新迁移文件内容:
你认为这会导致什么?
laravel - 如何在 Laravel 5 迁移中向表(不是列)添加注释?
如何在 Laravel 5 迁移中向表(ot 列)添加注释?
我目前知道如何向列添加评论,例如:
但是桌子呢?
php - 如何在迁移中从表中删除 softDeletes
我在迁移中将软删除列添加到我的表中:
down()
但是,如果我回滚迁移,如何在我的函数中删除这些?是否有内置方法可以执行此操作,还是我只是手动删除添加的列?
laravel - 如何在迁移中定义外键?
问题
我想向表中添加外键。当我运行我的第一次迁移create_posts_table
时,如下所示:
抛出以下错误:
[照亮\数据库\查询异常] SQLSTATE [HY000]:
一般错误:1215 无法添加外键约束(SQL: 删除级联时更改表
posts
添加约束posts_user_id_foreign
外键(user_id
)引用users
( ))id
这是因为该users
表尚未创建,因此未能在该表上创建用户的引用外键posts
。
可能的解决方案
解决这个问题的方法是在所有表都创建完成后,通过新的迁移添加外键。但是,这对我来说似乎很笨拙。
问题
如何在各自表的迁移中定义外键,而不是在创建所有表后使用不同的迁移单独添加它们?
laravel - Laravel 迁移将列类型从 varchar 更改为 longText
我需要将迁移列类型更改$table->string('text');
为文本类型,我尝试以几种方式做到这一点,但都没有奏效。是否可以在一次迁移中完成?我可以猜测删除该列,然后使用新类型再次创建它,但我想知道是否可以在一次迁移中做到这一点?
git - 自动运行 Laravel 迁移的 Git 钩子
我即将通过创建 2 个钩子来混淆,但我只是想检查是否有人已经有了这些钩子,或者可能是一个更好的主意。
pre-push:使用 git diff --stat --cached origin/master 查看是否正在推送“迁移”。如果是这样,那么在推送之前备份数据库。
接收后:运行迁移
php - Laravel 5.2:使用用户输入更新 .env 文件并通过代码运行迁移
我正在创建一个应用程序,并计划为用户提供一键式安装功能。这个想法是在应用程序首次启动时显示一个表单,类似于安装/配置屏幕,用户将在其中输入数据库详细信息(主机名、数据库名称、用户名和密码)并输入用户详细信息(默认管理员的电子邮件、用户名和密码)帐户)。一旦他提交表格,我想做以下任务:
- 使用主机名、数据库名称、用户名和密码更新 .env 文件
- 运行所有迁移
- 运行所有 db:seeds
- 根据用户输入创建用户(这不是什么大问题)
是否可以通过代码进行?我试图用谷歌搜索,但找不到任何帮助。
正如标题所说,我在这个项目中使用了 L5.2。