我使用php artisan make:migration
创建了三次迁移,之后我运行了php artisan migrate
。此命令仅在我的数据库中创建一个表而不是3.
答案 0 :(得分:0)
要使工匠迁移创建一个新表,您的迁移脚本必须包含Schema :: create not Schema :: table。您可以在生成脚本时将此选项添加到命令中--create = table_name
答案 1 :(得分:0)
artisan migrate
无法打开以前运行且位于迁移表中的迁移。如果您在迁移中修改了数据库并手动删除了表,则不会重新创建表。
您必须检查迁移表以检查已运行的迁移,以及您运行的迁移是否在一行中,请手动删除该行。为了将来证明这一点,您需要运行migrate:rollback,前提是迁移在down
函数中有一个删除表。
答案 2 :(得分:0)
您需要做的就是转到AppServiceProvider.php文件并在boot方法中设置一个默认的字符串长度:
SQLSTATE[42000]: Syntax error or access violation: 1071
添加以下两项:
使用Illuminate \ Support \ Facades \ Schema; 架构:: defaultStringLength(191);