【问题标题】:FuelPHP: Create Table When Using 'oil generate model' ConfusionFuelPHP:使用“石油生成模型”时创建表的困惑
【发布时间】:2012-12-26 13:54:01
【问题描述】:

总的来说,我对 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_”的生成迁移有很大不同。

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

谢谢!

【问题讨论】:

    标签: php model migration fuelphp


    【解决方案1】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-09
      • 1970-01-01
      • 2013-01-25
      • 1970-01-01
      相关资源
      最近更新 更多