symfony migration创建表和插入记录

时间:2012-02-05 13:25:39

标签: symfony1 migration

我想创建一个新表,然后在symfony 1.4项目中插入特定记录。我可以手动执行数据插入,但我想使用迁移基础结构,以便在升级不同的现有实例时,将在运行迁移时创建此行。

以下是迁移序列:

  1. 创建新表email
  2. 在表email中插入一行。
  3. (请注意,这些是单独的连续迁移。)

    问题是在此迁移中没有机会生成基本模型类,因此尝试使用普通的Doctrine命令插入行将失败。

    我可以使用裸SQL INSERT命令,但这似乎是对失败的承认。是否有另一种更符合学说的方式来进行数据插入?

1 个答案:

答案 0 :(得分:2)

有一种方法可以进行迁移。执行以下操作:

  • 更新schema.yml以包含新表
  • 使用新条目
  • 创建新任务或灯具文件
  • 运行symfony doctrine:generate-migrations-diff - 这将创建迁移文件
  • 运行symfony doctrine:build --all-classes --and-migrate

最后一行将更新数据库 - 即创建新表并创建基本模型类。以下是选项(与build命令中的类相关)

 --all-classes      Build all classes
 --model            Build model classes
 --forms            Build form classes
 --filters          Build filter classes

只需运行任务即可插入新的数据库条目或使用新的灯具(使用symfony doctrine:data-load --append <filename>)文件在数据库中创建条目。