在Laravel Spark开启Team Billing是否有已知的科学?
也就是说,如果您想使用Laravel Spark的团队计费功能,则需要使用create your project with the team-billing选项。
然而,(假设,他撒谎)如果你没有使用--team-billing
标志创建你的项目并突然需要团队计费功能,有没有办法打开它?
如果没有,是否有您需要更改的文件的文档列表?
我意识到我可以生成两个新的项目,一个是团队计费,另一个没有,然后将结果项目区分开来,但这似乎是一个容易出错的路径。我想知道在走向那条道路之前是否有已知的科学知识。
我自己对此进行了一次调查,并提供了一个截至2017年7月14日的解决方案。这可能会在未来的Spark更新中发生变化,因此YMMV。请参阅下文,了解检查系统之间差异的最佳方法。
首先,如其他地方所述,你需要将Laravel\Spark\CanJoinTeams
特性添加到你的App\User
类。
#File: app/User.php
use Laravel\Spark\CanJoinTeams;
use Laravel\Spark\User as SparkUser;
class User extends SparkUser
{
use CanJoinTeams;
/* ... */
}
其次,您需要在spark提供程序中添加团队计划(而不是单个计划)。即这些默认值。
#File: app/Providers/SparkServiceProvider.php
public function booted()
{
Spark::useStripe()->noCardUpFront()->trialDays(10);
Spark::freePlan()
->features([
'First', 'Second', 'Third'
]);
Spark::plan('Basic', 'provider-id-1')
->price(10)
->features([
'First', 'Second', 'Third'
]);
}
需要
public function booted()
{
Spark::useStripe()->noCardUpFront()->teamTrialDays(10);
Spark::freeTeamPlan()
->features([
'First', 'Second', 'Third'
]);
Spark::teamPlan('Basic', 'provider-id-1')
->price(10)
->features([
'First', 'Second', 'Third'
]);
}
对于团队计划。此外,如果不是很明显,您可以同时为系统制定个人计划和团队计划。
如果你多年后来这里,你想看看你的Spark版本需要什么,这是我发现的最佳方式。
首先,创建一个团队计费的Spark项目
spark new project-name --team-billing
然后将project-name
文件夹重命名为with-team-billing
mv project-name with-team-billing
然后,对没有团队计费的项目执行相同的操作
spark new project-name --team-billing
mv project-name without-team-billing
然后,使用您喜欢的diff命令递归地区分两个文件夹
diff -r with-team-billing without-team-bill
bbdiff with-team-billing without-team-bill
创建具有相同名称的两个项目非常重要,因为许多节点/ npm文件都是使用缓存的文件路径值生成的。它们与我们的目标无关,只会弄乱差异结果。
根据文档(https://spark.laravel.com/docs/4.0/teams),它需要的是将特征Laravel\Spark\CanJoinTeams
添加到您的用户模型:
如果您在没有
--team-billing
标志的情况下安装了应用程序,但仍希望稍后启用团队,则可以简单地将Laravel\Spark\CanJoinTeams
特性添加到User
模型中。
There is an open issue with people discussing this.截至这篇文章,它可能但不是很干净,并且可能容易出错。
一般建议是重新开始启用团队计费的新项目,然后移植您需要的代码。