首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >yIi2生成带有迁移的演示数据

yIi2生成带有迁移的演示数据
EN

Stack Overflow用户
提问于 2015-12-02 16:54:34
回答 5查看 1.8K关注 0票数 3

我需要设置演示网站与演示数据,包括每小时重置数据的公共演示网站。由于我们的数据使用相对于“现在”(例如archived_timestamp)的时间戳,所以我们不能仅仅用固定的时间戳恢复sql。

我的想法是为该任务使用Yii2迁移,使用PHP代码生成时间戳并插入演示数据。

如何做到这一点?

  • Yii2迁移是正确的工具吗?
  • 是否建议将迁移文件存储在单独的子目录中,使我们的演示设置不干扰普通的“迁移/向上”和“迁移/向下”进程?
  • 这种迁移是否绑定到文件命名方案,或者是否可以是演示-数据-setup.php?
EN

回答 5

Stack Overflow用户

发布于 2015-12-02 17:36:30

  • Yii2迁移是正确的工具吗?如果您需要一个适当的sql命令和指令序列来创建和填充一组特定的表和数据,您可以使用funtcion来创建一个概要,并使用该函数来删除(或删除)所需的内容。
  • 我建议将迁移文件存储在单独的子目录中,我们的演示设置不会干扰普通的“迁移/向上”和“迁移/向下”进程?当然了
  • 这种迁移是否绑定到文件命名方案,或者是否可以是演示-数据-setup.php?在yii2中(但在其他迁移工具中也是如此),迁移文件与一个适当的模板( datetime_migration_name.php )有关联。

但就我的经验而言,正确和经常性地创建/填充和删除/更新/删除在某些情况下可能有用--使用控制器,特别是如果这些活动是通过网页或URL启动的,而不需要启动控制台命令,使用带有适当操作的控制器甚至可以上下操作,并且可能是为了适当地响应操作的结果。

票数 2
EN

Stack Overflow用户

发布于 2016-09-18 16:29:18

是的,您可以使用控制器映射分配命令名,配置迁移路径&表,并在不干扰原始迁移命令的情况下使用它。

在控制台应用程序的配置中,添加一个带有演示的控制器映射

代码语言:javascript
运行
复制
'controllerMap' => [
    'demo-setup' => [
        'class' => 'yii\console\controllers\MigrateController',
        'migrationPath' => '@common/migrations/demo',
        'migrationTable' => '{{%demo_setup_migration}}'
    ],

cd到您的控制台应用程序目录并使用演示-安装命令,就像使用迁移命令一样。

./yii演示-安装/创建模式./yii演示-安装/创建示例-数据

./yii演示-安装

您可能希望设置一个cron作业来重新创建db并应用迁移或重新应用迁移到现有db以覆盖演示数据。

票数 1
EN

Stack Overflow用户

发布于 2017-02-09 10:44:19

是Yii2迁移的正确工具吗?,只要您将演示迁移存储在一个独立的位置,而不是您的主要迁移。老实说,当我启动一个新的Yii2项目时,总是从为演示数据创建迁移开始(我还创建了第一个迁移用户)。我通常使用faker和我自己的一些类来生成演示数据。

是否建议将迁移文件存储在单独的子目录中,而我们的演示设置不会干扰普通的“迁移/向上”和“迁移/向下”进程?是的,您应该!

这种迁移是否绑定到文件命名方案,或者可以是例如,从官方的Yii2文档中获取的关于命名迁移的演示-数据-setup.php?:

注意:由于name参数将用作生成的迁移类名的一部分,因此它只应该包含字母、数字和/或下划线字符。

Ps.:不要过度工程你的项目

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34048467

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档