使用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' 

如果能对你有一点帮助,我会很开心。

广告
将在 10 秒后关闭
bannerAds