在我的 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',
),
),
我建议首先通过迁移进行所有数据库更改 - 这样您就可以“吃自己的狗粮”并确保它有效。
关于php - 用于更改表的 Yii 迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21693337/