Php Laravel 4.1从包依赖项运行迁移和更新配置
我正在开发一个使用。 为了安装,我必须运行迁移并发布其配置:Php Laravel 4.1从包依赖项运行迁移和更新配置,php,laravel,migration,package,config,Php,Laravel,Migration,Package,Config,我正在开发一个使用。 为了安装,我必须运行迁移并发布其配置: php artisan migrate --package=cartalyst/sentry php artisan config:publish cartalyst/sentry 我想让我的包的用户只需为我自己的包运行迁移和发布配置,而不必为Sentry 2或我可能需要的任何其他包运行迁移和发布配置 有没有办法做到这一点?到底是应该这样做,还是应该让我的用户为每个包运行迁移/发布会话 谢谢 编辑: 按照承诺,我遵循@Antonio
php artisan migrate --package=cartalyst/sentry
php artisan config:publish cartalyst/sentry
我想让我的包的用户只需为我自己的包运行迁移和发布配置,而不必为Sentry 2或我可能需要的任何其他包运行迁移和发布配置
有没有办法做到这一点?到底是应该这样做,还是应该让我的用户为每个包运行迁移/发布会话
谢谢
编辑:按照承诺,我遵循@AntonioCarlosRibeiro的建议,创建了一个新的Artisan命令:
class SybilInstall extends Command
{
protected $name = 'sybil:install';
protected $description = 'Install the sybil package';
public function fire()
{
$this->call(
'migrate',
array('--package' => 'cartalyst/sentry')
);
$this->call(
'migrate',
array('--package' => 'ghunti/sybil')
);
$this->call(
'asset:publish',
array('ghunti/sybil')
);
}
}
现在,人们只需要运行
php artisan sybil:install
,它将处理您可以运行的软件包中的所有内容(Laravel 4.1+):
文件:
在旧版本上:
Artisan::call('migrate --package=cartalyst/sentry');
Artisan::call('config:publish cartalyst/sentry'):
不错,安东尼奥。你建议我把这些行放在哪里?在我看来,创建一个新的artisan命令(php artisan package:initialize)将是最好的,你甚至可以从中运行自己的迁移。我将尝试一下并发回结果,以便将来任何人都可以在需要时使用它。再次感谢您的帮助此解决方案不再准确。在Laravel4.1中,必须在数组中传递参数,例如
Artisan::call('migrate',array('--package','cartalyst/sentry')代码>。我猜解决方案是针对早期版本的Laravel。
Artisan::call('migrate --package=cartalyst/sentry');
Artisan::call('config:publish cartalyst/sentry'):