我们目前正在从Magento 1.9更改为2.3,并希望在团队中进行开发。使用Magento 1.9,我们可以相对简单地重写配置,这样我们就可以使用相同的数据库,使用SVN版本项目,每个开发人员都可以在自己的域上工作。例如:
- magento.tk(开发者1)
- magento.sg(开发者2)
- 等等
现在我们已经调整了应用程序/etc/env.php中的基本URL问题:
'system' => [
'default' => [
'system' => [
'smtp' => [
'host' => 'localhost',
'port' => '25'
]
],
'web' => [
'unsecure' => [
'base_url' => 'http://magento.tk/',
'base_link_url' => '{{unsecure_base_url}}'
],
'secure' => [
'base_url' => 'https://magento.tk/',
'base_link_url' => '{{secure_base_url}}'
],
'default' => [
'front' => 'cms'
],
'cookie' => [
'cookie_domain' => 'test'
]
],
],
到目前为止,这也是有效的,但始终只适用于一个域。在更改env.php后,我们运行setup:upgrade,这使商店在本地工作,但由于我们可能使用相同的数据库,我们不能与多个人一起开发,否则我们会得到以下错误:
1 exception(s): Exception #0 (MagentoFrameworkExceptionLocalizedException): The configuration file has changed. Run the "app:config:import" or the "setup:upgrade" command to synchronize the configuration.
当其他开发人员这样做时,其他人都会得到它。有办法让它在本地运行吗?
本地性能:
另一个问题是性能。如果我们在开发模式下本地或在线调用项目(由于开发原因,缓存关闭),那么前端和后端的加载时间很长,而且很慢。已安装的Magento 2.3版安装时没有大插件,只安装了一个主题,但加载时间是灾难性的-后端和前端加载都很长,延迟了开发。这里有什么技巧可以让系统正常工作吗?
我将非常感谢您可能需要的任何帮助和提示:-)
1/方法学
你应该复习一下你的工作方法,因为Magento 2。通过更改Magento版本,您也可以将工具更改为新工具。
Docker是复制开发环境的好工具。
可以使用其他版本控制方法。我不知道SVN(我用的是Git)。但在这种情况下:
-
我们有一个开发分支,我工作的每个人都有自己的环境和自己的分支。
-
当任何任务完成后,开发人员将dev分支合并到自己的分支中以修复冲突
-
然后,开发人员在开发分支中合并自己的分支
2/局部性能
我习惯于使用缓存,甚至用于开发…否则,性能可能会非常糟糕!
-
安装&配置Redis
-
启用除
Blocks HTML output
和Page Cache
之外的所有缓存
当然,在更改配置、产品和类别时必须清除缓存。。。但作为开发人员,这不是我们的工作(为什么不使用php bin/magento c:c;php bin/magento c:f;
CLI命令呢)。
有了这些简单的技巧,您将每周赚取小时数