0

我对 FuelPHP、ORM 和迁移完全陌生,如果我像新手一样遇到,我很抱歉,但我已经为此苦苦挣扎了几个小时,所以我想我会寻求帮助。我认为我要么做错了什么,要么错过了一些基本的东西。

我正在尝试创建一个用户模型,为简单起见,假设它只有一个表示名称的字符串。

我的印象是使用以下两个 Oil 命令将创建一个用户模型,以及一个关联的迁移,运行后将构建一个关联的表:

php oil generate model user name:string
oil refine migrate

这确实成功地创建了模型和迁移,但运行第二个命令不会在数据库中构建表。

另一方面,如果我运行这些命令:

php oil generate migration create_user name:text
oil refine migrate

创建了迁移,并且在我的数据库中构建了表。我注意到将“create_”附加到迁移名称可以创建表,而将其关闭(即php oil generate migration user name:text)不会将表插入数据库。我注意到带有和不带有'create_'的生成迁移有很大不同。

所以我的问题最终是,我如何创建模型,创建表的关联迁移?或者,我完全误解了什么?

谢谢!

4

1 回答 1

2

如果您收到“已进行最新迁移”,则您的迁移跟踪数据不同步。迁移在数据库(名为迁移的表)和环境文件夹中名为 migrations.php 的配置文件中进行跟踪。

如果其中一个已经有条目,则油将不会再次运行它。

所以不能只通过后门删除表,然后再次运行迁移。您必须运行 'migrate:down' 来恢复上一次迁移,或者如果您全部删除,还需要删除迁移表和配置文件。

再次感谢 FuelPHP 论坛上的 Harro Verton。

于 2012-12-26T19:35:34.567 回答