我的迁移失败了,所以我只是在MySQL工作台中手动运行了一个查询。
是否有artisan命令将迁移标记为已完成?因此,当我运行将来的迁移时,它会跳过我知道不需要运行的那些迁移。
我可以使用此命令列出它们及其状态,并查看哪些已运行,哪些未运行:
php artisan migrate:status 如果没有命令,我可以手动在数据库迁移表中插入一个条目。(但不是目前的迁移:P )
我想我也可以...删除迁移。
发布于 2018-10-18 03:04:16
我刚刚完成了以下操作:
YourMigrationClass::up()方法的内容。如下所示:类AddSessionIdToActivitiesTable扩展迁移{ public function up() { /*注释出来: Schema::table('activities',function (Blueprint $table) { $table->integer('session_id')->nullable();});*/ }取消注释
it's "Ran?":php artisan migrate:status
发布于 2019-01-29 18:21:46
您写的是直接在数据库中运行迁移的sql,所以我假设对于您来说,再运行两个语句也是可以的。
对于laravel5.7(以及一些更低的版本),您需要在数据库中填充迁移信息(在migrations表中)。
您需要的信息是migration (不带.php扩展名的文件名)和batch号(用于决定在回滚迁移时一次运行哪些迁移)
首先,您必须查看最后一个批号是:
SELECT MAX(batch) from migrations;假设上面的查询返回42,那么我们必须插入批号为42 + 1 = 43的数据
假设您想要标记为run的迁移是database/migrations/2019_01_29_091850_update_jobs_table_for_laravel_5_3.php,
要填充需要运行的信息,请执行以下操作:
-- note that you should not include the .php extension
INSERT INTO migrations VALUES ("2019_01_29_091850_update_jobs_table_for_laravel_5_3", 43);然后运行php artisan migrate:status会将迁移报告为run。
也许你可以用一个查询来完成这个任务……我将把这项任务留给sql专家进行评论。
发布于 2018-02-24 10:16:28
目前(Laravel <= 5.6),没有更新数据库的命令来将迁移标记为运行。您只需手动完成此操作。
https://stackoverflow.com/questions/48958629
复制相似问题