使用Laravel的kitloong/laravel-migrations-generator,在运行php artisan migrate:generate命令时出现列未找到错误: 1054 Unknown column ‘GENERATION_EXPRESSION’ in ‘field list’,因此需要进行适应措施
当我在复制Laravel的现有功能并创建新功能时,我找到了一个可以从现有数据库表中生成迁移的库。
我尝试运行它,但由于错误无法生成迁移,所以我进行了处理。
此外,由于找不到适用的日文文章,我将其写成了一篇文章。
导致这个结果的缘由
由于数据库过旧,INFORMATION_SCHEMA的COLUMNS表中没有GENERATION_EXPRESSION列,所以会出现错误。
因此,升级数据库就可以解决这个问题。
MySQL是一款开源的关系型数据库管理系统。
mysql5.7~
https://dev.mysql.com/doc/refman/5.7/zh/information-schema-columns-table.html
mysql5.7中新增了GENERATION_EXPRESSION列。
Mariadb (著名的MariaDB)
MariaDB 10.2.5的具体信息可以在以下链接找到:
https://mariadb.com/kb/en/information-schema-columns-table/
生成表达式 – 用于在生成的(虚拟或计算的)列中计算列值的表达式。MariaDB 10.2.5
根据现有的数据库或表格自动生成迁移的库。
composer require kitloong/laravel-migrations-generator --dev
-
- “version”: “v6.8.0”
Laravel5.5~10まで対応しています。
(参考:上記ライブラリ) https://github.com/kitloong/laravel-migrations-generator
指定一个表格并自动生成迁移。
php artisan migrate:generate --tables="table1,table2,table3,table4,table5"
错误
Column not found: 1054 Unknown column 'GENERATION_EXPRESSION' in 'field list'
如果能对你有一点帮助,我会很开心。