php - 如何终止 laravel 迁移中的数据丢失

标签 php mysql laravel eloquent

我一直不知道为什么!但是当我在 phpMyAdmin 中查看我的数据库时,我的一个表,名为:Posts 被删除了!!!所以我尝试通过 php artisan migrate 重新生成它,但我遇到了这个错误:

[PDOException]
SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'users' already exists

我的用户表只存在帖子表被删除了! 这是我的模型:

class Post extends Model
{
protected $table = 'posts';
public $primaryKey = 'id';
public $timestamps = true;

public function user()
{
    return $this->belongsTo('App\User');

}
}

和:

class User extends Authenticatable
{
use Notifiable;

/**
 * The attributes that are mass assignable.
 *
 * @var array
 */
protected $fillable = [
    'name', 'email', 'password',
];

/**
 * The attributes that should be hidden for arrays.
 *
 * @var array
 */
protected $hidden = [
    'password', 'remember_token',
];

public  function posts()
{

    return $this->hasMany('App\Post');
}

}

我必须在用户迁移中使用此命令:Schema::dropIfExists('users'); 并再次运行 php artisan migrate。一切都解决了,除了我在用户表中的所有数据都被删除了!

如何在 laravel 中终止相同的问题?我如何在 laravel 迁移中禁用数据丢失,如果某些更改导致它丢失数据,请提醒我。

在 Microsoft EF 中,我们有 EnableDataLoosing=false; Eloquent 在 laravel 中有同样的东西吗?

最佳答案

在 Laravel 5.5 中有一个新命令 php artisan migrate:fresh 它将删除你所有的表并重建它们

关于php - 如何终止 laravel 迁移中的数据丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45530340/

相关文章:

php连接mysql并提交数据

php - 如何使用 SimpleXML 解析包含自定义 namespace 的 XML?

javascript - PHP 未定义索引的文件上传问题

php - 在 Laravel 中使用 request->all 保存所有记录记录

php - 我怎样才能在 php-fpm 后面的 docker 中获取 laravel 的日志?

php - 如何将此 cURL 代码转换为 PHP(PayPal API)

php - 保护网络应用程序的基本原则?

mysql - 有什么办法可以查看mysql索引的内容吗?

mysql - Laravel 连接分页

mysql - 左连接到 JSON 数组