php - 用于更改表的 Yii 迁移

标签 php mysql yii dbmigrate

在我的 Web 应用程序中,我对 mysql 数据库进行了一些更改,并且我想在我的 Web 应用程序中反射(reflect)相同的更改。我知道我可以使用数据库迁移,但是我应该在哪里运行迁移命令?我应该在/migrations 目录中创建一个程序来更改表,如果是这样,我应该在哪里运行命令“yiic migrate”来反射(reflect)更改?我该如何解决这个问题?

最佳答案

您将需要终端或某些命令行界面。您可以在其中输入(例如):

php /Users/Name/Sites/SiteDir/public_html/protected yiic migrate create table_changes

这将在 protected/migrations 文件夹中创建一个名为“table_changes”的新空白迁移。如果遇到任何错误,请确保 yiic.php 使用的控制台配置文件具有适合您环境的正确数据库设置,并包含对迁移类的引用:

'commandMap'=>array(
    'migrate'=>array(
        'class'=>'system.cli.commands.MigrateCommand',
        'migrationPath'=>'application.migrations',
        'migrationTable'=>'yii_migration',
        'connectionID'=>'db',
    ),
),

我建议首先通过迁移进行所有数据库更改 - 这样您就可以“吃自己的狗粮”并确保它有效。

有关creating and running Yii migrations的更多信息

关于php - 用于更改表的 Yii 迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21693337/

相关文章:

php - 数据库;案件;多个何时?然后 ?。如何创建数据?与 foreach

php - 使用php更新Jquery数据系列

mysql - Froxlor mysql 1048 访问被拒绝

jquery - Yii 和 EGMap 扩展(Google map )在复选框更改时刷新 map

yii - 在 yii2.0 框架中插入时出错

php - Mysql PHP 循环

php - 如何添加功能以便 woocommerce 订单对同一城市的司机用户角色可见?

javascript - 全日历事件总是出现在全天事件时段以及如何编辑

MySQL 查询返回状态信息的总小时数

mysql - Mysql错误:查询数据包太大(2116> 1024)