【发布时间】:2014-05-25 11:09:12
【问题描述】:
我正在使用 php 的 Laravel 框架进行开发。我想使用迁移进行表创建操作。这些是我采取的步骤:
我使用命令
php artisan migrate:make create_users_table创建迁移,该命令创建了一个迁移文件,并在其 up 函数中写下我的架构,然后运行它并成功执行。之后,我再次尝试运行相同的迁移,结果显示错误,“表存在”。
-
然后我尝试使用回滚功能,但它给出了错误“没有什么可以回滚”。
那么,如何回滚迁移或执行迁移的向下功能。此外,当我创建新迁移并在迁移文件的 up 函数中,我编写了用于删除由我之前的迁移创建的表的代码,并使用命令
php artisan migrate执行,由此所有迁移都被执行(也是我之前的迁移)并向我展示了错误,“表已存在”(很明显)。
那么,现在我被困住了,是否有执行特殊/特定迁移的功能?我该怎么做?
【问题讨论】:
-
运行 'composer dump-autoload' 然后再试一次,工匠 migrate:reset 如果回滚不起作用(它将回滚所有迁移)
-
我是否需要每次都创建一个迁移文件并在每次更改或创建新表或列时写入其 up 函数,是否有必要使用迁移以及为什么要使用它们?
-
迁移非常有用,它们是数据库的版本控制,就像代码的 git/svn 一样。如果您想更改某些内容,则创建新文件,除非您有单个迁移文件并希望简单地重写它。按照 Jason 告诉您的操作,将 UP 和 DOWN 放在一个迁移文件中