我有一个Laravel安装和设置了三种环境与自身对应的Config目录:如何在AWS Elastic Beanstalk上执行Laravel Artisan迁移?
- 当地
- 分期
- 生产
我用php artisan migrate:make create_users_table
等描述here创建数据库迁移。
在我的本地环境中,我使用Vagrant和简单的MySQL服务器设置,并且在生产中使用AWS RDS。
要为分期environment数据库访问我有一个app/config/staging/database.php
文件与设置是这样的:
...
"mysql" => array(
"driver" => "mysql",
"host" => $_SERVER["RDS_HOSTNAME"],
"database" => $_SERVER["RDS_DB_NAME"],
"username" => $_SERVER["RDS_USERNAME"],
"password" => $_SERVER["RDS_PASSWORD"],
"charset" => "utf8",
"collaction" => "utf8_unicode_ci",
"prefix" => "",
),
...
我使用git描述here与git aws.push
部署的应用。
现在的问题是:如何在部署时在分段(以及后续生产)EBS服务器上运行迁移?
那么,我正在做的下一次迁移会发生什么?对于那些我不能再添加到GIT的人,因为他们已经添加了。或者我不能运行'''git aws.push'''。那么,这将是什么步骤? - 谢谢。 –
@HimelNagRana我不太关注,但您可能会误解迁移(应该)如何工作。你所有的迁移脚本都应该在git仓库中。您的数据库不应该在每个部署中“重置”,迁移只应在迁移脚本中执行“up”方法中的小改动。查看迁移文档:http://laravel.com/docs/4.2/migrations – oskarth
我想我无法让自己清楚。对不起。我了解迁移是如何工作的(或者应该工作)。这是一个相当部署的问题,我能够弄清楚如何。 例如,假设我想为用户实体添加“last_login”。然后,我将生成迁移并运行它。我的问题是,在部署到ElasticBeanstalk时,是否需要做特殊的事情来使迁移运行?后来我发现答案是“否”。 无论如何。 –