我是Laravel的新学习者。我按照教程创建了一篇文章表。这是我/ database/migrations中的代码的一部分.20_02_13_145946_create_article_table.php
public function up()
{
//
Schema::create('articles', function(Blueprint $table)
{
$table->increments('id');
$table->string('title');
$table->text('body')->nullable();
$table->integer('user_id');
$table->timestamps();
});
}
当我运行php artisan migrate
时,表没有被创建。我搜索了问题并运行php artisan migrate:reset
命令删除所有表。当我再次运行php artisan migate
命令时显示
Migrated: 2014_10_12_000000_create_users_table
Migrated: 2014_10_12_100000_create_password_resets_table
Migrated: 2017_02_13_145946_create_article_table
但没有创建任何内容但只更新了迁移记录表。表user
和password_resets
也未创建。
任何想法我可能做错了什么?
答案 0 :(得分:5)
要清除此问题,请转到 mysql 并删除所有表。 转到您的应用程序(项目)文件夹=> app =>提供商
将此内容写在AppServiceProvider.php
文件的顶部。
//edit:yrs:- Needed for edit
use Illuminate\Support\Facades\Schema;
在引导方法
中写入此内容//edit:yrs:-we can edit column sizefor tables here
Schema::defaultStringLength(150);
然后来控制并执行
* command /> php artisan migrate:status
如果是n则运行状态为y或n然后执行
*command />`php artisan migrate`
*command />`php artisan migrate:status` and then
*command />`php artisan migrate:refresh` and then
*command />`php artisan migrate:status`
这就是使用 mysql
中的表创建所有功能答案 1 :(得分:1)
我通常尝试几件事:
在控制台中执行回滚操作,直到您无法回滚':
php artisan migrate:rollback
然后,检查您的文章迁移文件并查找向下功能(如果您还没有需要添加它)
public function down()
{
// Drop articles table
Schema::drop('articles');
}
保存您的迁移文章文件(我知道它听起来很愚蠢,但它之前发生在我身上)。我建议也改变文件的名称:
2017_02_13_145946_create_article_table.php ,致:
2017_02_13_145946_create_ 文章 _table.php
使用:
composer dump-autoload
转到您的数据库(在本例中为laravel_db)并检查是否有任何表(Mysql Console):
show databases;
use laravel_database:
show tables;
如果除了迁移之外没有任何表,请使用以下命令将其删除:
drop table migrations;
将数据库清空后,从控制台运行迁移:
php artisan migrate
最后,如果没有被错误地抛出,请检查创建的表(Mysql Console):
show tables;