我有大约30个迁移文件。
当它到达包含重命名列的迁移时:
Schema::table('table', function (Blueprint $table) {
$table->renameColumn('old_field', 'new_field');
});
它只会在迁移时出错(比如说,第15个)。它可以正常运行所有其他迁移。如果我对此进行评论,那么它将按预期完成。
我运行php artisan migrate
或php artisan migrate:fresh
我得到以下错误:
ErrorException : The "name" column option is not supported, setting it is deprecated and will cause an error in Doctrine 3.0
at /Volumes/Workspace/new-app-backend/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Column.php:85
81| @trigger_error(sprintf(
82| 'The "%s" column option is not supported,' .
83| ' setting it is deprecated and will cause an error in Doctrine 3.0',
84| $name
> 85| ), E_USER_DEPRECATED);
86|
87| continue;
88| }
89| $this->$method($value);
Exception trace:
1 trigger_error("The "name" column option is not supported, setting it is deprecated and will cause an error in Doctrine 3.0")
/Volumes/Workspace/new-app-backend/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Column.php:85
2 Doctrine\DBAL\Schema\Column::setOptions()
/Volumes/Workspace/new-app-backend/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Column.php:67
PHP-v给了我这个:
PHP 7.3.14 (cli) (built: Jan 24 2020 03:04:31) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.14, Copyright (c) 1998-2018 Zend Technologies
with Xdebug v2.9.2, Copyright (c) 2002-2020, by Derick Rethans
with Zend OPcache v7.3.14, Copyright (c) 1999-2018, by Zend Technologies
MySQL-v给了我这个:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 323
Server version: 5.7.29 Homebrew
我使用的是“条令/dbal”:“~2.3”
此错误仅在本地计算机上运行迁移时发生。在我的docker-compose堆栈和Vagant框中按预期完成。所有版本都相同。为什么这只发生在我的mac上?
解决方法我在网上找到的
Schema::table('table', function (Blueprint $table) {
\DB::statement("ALTER TABLE table_name
CHANGE COLUMN old_column_name new_column_name data_type;");
});
我希望这有帮助。
参考文献
我使用laravel 5.2版本和PHP 7.1。我试图从我的laravel项目中迁移文件,其中我有代码来检查列的存在,如下所示- 我知道代码非常好,在设置相同的代码时,这已经运行了好几次。但现在我在另一台机器上尝试,失败了,出现了一个错误- [ErrorException] 未定义的属性:stdClass::$column\u name 如果我从代码中删除hasColumn检查,我可以消除这个错
问题内容: 我的应用崩溃了,因为我没有正确处理迁移。 我正在寻找一种解决方案来迁移表中1列的名称。 在我的项目中,我有一个名为“ content ”的房间表,其 双人间 属性为“ archivedCount ”。在该应用程序的最新版本中,仍将属性 archivedCount 属性重命名为 dismissCount ,仍为 Double 类型 。 原始内容模型 新内容模型 尝试的解决方案 阅读了Go
我有以下错误。有人在理解为什么? PHP工匠迁移 创建_users_table.php
我将Rails5与PostgreSQL一起部署,以便在Heroku中免费应用程序。这是我在中的配置:
mariadb 10.2中似乎有一个突破性的变化。7如果尝试重命名字段可为Null的datetime列,并且如果运行迁移,将出现错误: 创建迁移: 创建第二次迁移以重命名列: 有没有一个解决办法来让这个工作? 根据条令/dbal问题: 为了允许表达式作为默认值,并将其与文字区分开来,Mariadb现在在信息模式中引用默认值。列表。这一变化在(Oracle-)Mysql/MariaDB平台之间带来了
问题内容: 我在夹层中使用Django1.7。我创建了简单的配置文件(根据Mezzanine文档),存储在单独的应用程序“配置文件”中: 创建迁移会返回: 当我运行“迁移配置文件”时: 问题是,当我尝试打开与mezzanine.accounts相关的任何页面(例如更新帐户)时,它崩溃并显示: 我做错了什么? 问题答案: 在MySQL数据库中,从表中删除行。 删除迁移文件夹中的所有迁移文件。 重试并