Magento Development environment database setup
Clash Royale CLAN TAG#URR8PPP
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty margin-bottom:0;
up vote
2
down vote
favorite
Our company is new at Magento development so we are still figuring out a good dev cycle. I read the guide that Magento provided. But still not sure on how to develop with a team (5-10 people). Our goal is that we each have our own environment where we can code custom module(s) and we have our own (feature) branch in Git. My question is should we use a shared database or each have our own database? Here's is what I think about pro's and con's for each option:
Shared database
PRO'S
We have the same cms content / products and dummy data only needs to be added once
If we go live we don't have to figure out which one is the right one to copy or to export the configuration from.
CON'S
- Someone installed a module and disabled it but other developers do not have the code yet.
- The Base_url is different for some environments
Separate database
PRO'S
- Make changes not worrying that other developers will have a problem
CON's
- We need a way to merge the database's into one.
So are there other pro's con's that you? Know how are you working? Which method would you recommend?
Thanks
magento2 database development
add a comment |Â
up vote
2
down vote
favorite
Our company is new at Magento development so we are still figuring out a good dev cycle. I read the guide that Magento provided. But still not sure on how to develop with a team (5-10 people). Our goal is that we each have our own environment where we can code custom module(s) and we have our own (feature) branch in Git. My question is should we use a shared database or each have our own database? Here's is what I think about pro's and con's for each option:
Shared database
PRO'S
We have the same cms content / products and dummy data only needs to be added once
If we go live we don't have to figure out which one is the right one to copy or to export the configuration from.
CON'S
- Someone installed a module and disabled it but other developers do not have the code yet.
- The Base_url is different for some environments
Separate database
PRO'S
- Make changes not worrying that other developers will have a problem
CON's
- We need a way to merge the database's into one.
So are there other pro's con's that you? Know how are you working? Which method would you recommend?
Thanks
magento2 database development
add a comment |Â
up vote
2
down vote
favorite
up vote
2
down vote
favorite
Our company is new at Magento development so we are still figuring out a good dev cycle. I read the guide that Magento provided. But still not sure on how to develop with a team (5-10 people). Our goal is that we each have our own environment where we can code custom module(s) and we have our own (feature) branch in Git. My question is should we use a shared database or each have our own database? Here's is what I think about pro's and con's for each option:
Shared database
PRO'S
We have the same cms content / products and dummy data only needs to be added once
If we go live we don't have to figure out which one is the right one to copy or to export the configuration from.
CON'S
- Someone installed a module and disabled it but other developers do not have the code yet.
- The Base_url is different for some environments
Separate database
PRO'S
- Make changes not worrying that other developers will have a problem
CON's
- We need a way to merge the database's into one.
So are there other pro's con's that you? Know how are you working? Which method would you recommend?
Thanks
magento2 database development
Our company is new at Magento development so we are still figuring out a good dev cycle. I read the guide that Magento provided. But still not sure on how to develop with a team (5-10 people). Our goal is that we each have our own environment where we can code custom module(s) and we have our own (feature) branch in Git. My question is should we use a shared database or each have our own database? Here's is what I think about pro's and con's for each option:
Shared database
PRO'S
We have the same cms content / products and dummy data only needs to be added once
If we go live we don't have to figure out which one is the right one to copy or to export the configuration from.
CON'S
- Someone installed a module and disabled it but other developers do not have the code yet.
- The Base_url is different for some environments
Separate database
PRO'S
- Make changes not worrying that other developers will have a problem
CON's
- We need a way to merge the database's into one.
So are there other pro's con's that you? Know how are you working? Which method would you recommend?
Thanks
magento2 database development
magento2 database development
edited 53 mins ago
Himanshu
17415
17415
asked 1 hour ago


Arno Vande Cappelle
10210
10210
add a comment |Â
add a comment |Â
2 Answers
2
active
oldest
votes
up vote
1
down vote
I think it's better to use a separated database when you have a big team to work in a single project. other developers will not affect of someone's change.
what you just need to do is when other developers want to make changes of the specific developer, just get his/her code into the local system.
just try to run below command it will automatically deploy all database change, code cache etc.
php bin/magento setup:upgrade && php -dmemory_limit=6G bin/magento setup:di:compile && php -dmemory_limit=6G bin/magento setup:static-content:deploy -f && php bin/magento indexer:reindex && php bin/magento cache:clean && php bin/magento cache:flush
my suggestion is to use github/bitbucket to get code instant of others.
add a comment |Â
up vote
1
down vote
You make the repo restricted from other developer to push directly on master .
Make the devs have the same database of live before starting the project.
Dev create branch from master , make whatever it is assigned for , create pull request , and after his code is merged into master , the other dev branch its behind and they need to sync their branch .
Example dev 1 install an extension with composer , when his branch is merged into master , and the dev 2 update is local with the extension already merged , he will got the same database as the Dev 1 (exept the configurations , but it doesnt matter since the configs usually are made on production site as customer want).
The only thing you need to concern is when having one developer task of upgrading the magento version and other dev is working on a large module regarding database modification . In that case you let know the devs about the steps of the workflow , so the dev that is doing the module have knowledge of the magento upgrade is being made.
Keep in mind to test after the merge first on the dev sites instead of production just to be sure.
But if in this case dev 2 creates dummy products (or cms pages) dev 1 will not have these products.
– Arno Vande Cappelle
45 mins ago
Because no need to have those since they are "dummy configs" :) , the main configs are the live configs , and when they deploy ,they dont deploy the dummy configs . The configs are updated manually .
– Ylgen Guxholli
41 mins ago
But if we have other data that needs to go to production? For example we want to use the advanced content manager module (marketplace.magento.com/blackbird-contentmanager.html). Here you have content types that should be "exported" to the production environment.
– Arno Vande Cappelle
35 mins ago
Still , its not good using more than 1 developer working in one extension configuration , because will be a mess . Let one dev worked on those configs , and if he tests on his local , he passes the configs in qa envoriment (not in production directly) so you as a Tester or who can Review the work developer is doing , make the approve to go or not to go for the configs update in production . That feature isnt yet lanched yet by the extension .
– Ylgen Guxholli
26 mins ago
But as i said let one dev working with that. When i did the list i dint tell that the devs should not update the db ever. Yes they should but in intervals you looks like you need to have your devs having the latest database , for ex. when you finish deploying the configs of the content manager on production, you tell the dev to do a refresh of their local database.
– Ylgen Guxholli
26 mins ago
add a comment |Â
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
1
down vote
I think it's better to use a separated database when you have a big team to work in a single project. other developers will not affect of someone's change.
what you just need to do is when other developers want to make changes of the specific developer, just get his/her code into the local system.
just try to run below command it will automatically deploy all database change, code cache etc.
php bin/magento setup:upgrade && php -dmemory_limit=6G bin/magento setup:di:compile && php -dmemory_limit=6G bin/magento setup:static-content:deploy -f && php bin/magento indexer:reindex && php bin/magento cache:clean && php bin/magento cache:flush
my suggestion is to use github/bitbucket to get code instant of others.
add a comment |Â
up vote
1
down vote
I think it's better to use a separated database when you have a big team to work in a single project. other developers will not affect of someone's change.
what you just need to do is when other developers want to make changes of the specific developer, just get his/her code into the local system.
just try to run below command it will automatically deploy all database change, code cache etc.
php bin/magento setup:upgrade && php -dmemory_limit=6G bin/magento setup:di:compile && php -dmemory_limit=6G bin/magento setup:static-content:deploy -f && php bin/magento indexer:reindex && php bin/magento cache:clean && php bin/magento cache:flush
my suggestion is to use github/bitbucket to get code instant of others.
add a comment |Â
up vote
1
down vote
up vote
1
down vote
I think it's better to use a separated database when you have a big team to work in a single project. other developers will not affect of someone's change.
what you just need to do is when other developers want to make changes of the specific developer, just get his/her code into the local system.
just try to run below command it will automatically deploy all database change, code cache etc.
php bin/magento setup:upgrade && php -dmemory_limit=6G bin/magento setup:di:compile && php -dmemory_limit=6G bin/magento setup:static-content:deploy -f && php bin/magento indexer:reindex && php bin/magento cache:clean && php bin/magento cache:flush
my suggestion is to use github/bitbucket to get code instant of others.
I think it's better to use a separated database when you have a big team to work in a single project. other developers will not affect of someone's change.
what you just need to do is when other developers want to make changes of the specific developer, just get his/her code into the local system.
just try to run below command it will automatically deploy all database change, code cache etc.
php bin/magento setup:upgrade && php -dmemory_limit=6G bin/magento setup:di:compile && php -dmemory_limit=6G bin/magento setup:static-content:deploy -f && php bin/magento indexer:reindex && php bin/magento cache:clean && php bin/magento cache:flush
my suggestion is to use github/bitbucket to get code instant of others.
answered 1 hour ago
Hit's
396114
396114
add a comment |Â
add a comment |Â
up vote
1
down vote
You make the repo restricted from other developer to push directly on master .
Make the devs have the same database of live before starting the project.
Dev create branch from master , make whatever it is assigned for , create pull request , and after his code is merged into master , the other dev branch its behind and they need to sync their branch .
Example dev 1 install an extension with composer , when his branch is merged into master , and the dev 2 update is local with the extension already merged , he will got the same database as the Dev 1 (exept the configurations , but it doesnt matter since the configs usually are made on production site as customer want).
The only thing you need to concern is when having one developer task of upgrading the magento version and other dev is working on a large module regarding database modification . In that case you let know the devs about the steps of the workflow , so the dev that is doing the module have knowledge of the magento upgrade is being made.
Keep in mind to test after the merge first on the dev sites instead of production just to be sure.
But if in this case dev 2 creates dummy products (or cms pages) dev 1 will not have these products.
– Arno Vande Cappelle
45 mins ago
Because no need to have those since they are "dummy configs" :) , the main configs are the live configs , and when they deploy ,they dont deploy the dummy configs . The configs are updated manually .
– Ylgen Guxholli
41 mins ago
But if we have other data that needs to go to production? For example we want to use the advanced content manager module (marketplace.magento.com/blackbird-contentmanager.html). Here you have content types that should be "exported" to the production environment.
– Arno Vande Cappelle
35 mins ago
Still , its not good using more than 1 developer working in one extension configuration , because will be a mess . Let one dev worked on those configs , and if he tests on his local , he passes the configs in qa envoriment (not in production directly) so you as a Tester or who can Review the work developer is doing , make the approve to go or not to go for the configs update in production . That feature isnt yet lanched yet by the extension .
– Ylgen Guxholli
26 mins ago
But as i said let one dev working with that. When i did the list i dint tell that the devs should not update the db ever. Yes they should but in intervals you looks like you need to have your devs having the latest database , for ex. when you finish deploying the configs of the content manager on production, you tell the dev to do a refresh of their local database.
– Ylgen Guxholli
26 mins ago
add a comment |Â
up vote
1
down vote
You make the repo restricted from other developer to push directly on master .
Make the devs have the same database of live before starting the project.
Dev create branch from master , make whatever it is assigned for , create pull request , and after his code is merged into master , the other dev branch its behind and they need to sync their branch .
Example dev 1 install an extension with composer , when his branch is merged into master , and the dev 2 update is local with the extension already merged , he will got the same database as the Dev 1 (exept the configurations , but it doesnt matter since the configs usually are made on production site as customer want).
The only thing you need to concern is when having one developer task of upgrading the magento version and other dev is working on a large module regarding database modification . In that case you let know the devs about the steps of the workflow , so the dev that is doing the module have knowledge of the magento upgrade is being made.
Keep in mind to test after the merge first on the dev sites instead of production just to be sure.
But if in this case dev 2 creates dummy products (or cms pages) dev 1 will not have these products.
– Arno Vande Cappelle
45 mins ago
Because no need to have those since they are "dummy configs" :) , the main configs are the live configs , and when they deploy ,they dont deploy the dummy configs . The configs are updated manually .
– Ylgen Guxholli
41 mins ago
But if we have other data that needs to go to production? For example we want to use the advanced content manager module (marketplace.magento.com/blackbird-contentmanager.html). Here you have content types that should be "exported" to the production environment.
– Arno Vande Cappelle
35 mins ago
Still , its not good using more than 1 developer working in one extension configuration , because will be a mess . Let one dev worked on those configs , and if he tests on his local , he passes the configs in qa envoriment (not in production directly) so you as a Tester or who can Review the work developer is doing , make the approve to go or not to go for the configs update in production . That feature isnt yet lanched yet by the extension .
– Ylgen Guxholli
26 mins ago
But as i said let one dev working with that. When i did the list i dint tell that the devs should not update the db ever. Yes they should but in intervals you looks like you need to have your devs having the latest database , for ex. when you finish deploying the configs of the content manager on production, you tell the dev to do a refresh of their local database.
– Ylgen Guxholli
26 mins ago
add a comment |Â
up vote
1
down vote
up vote
1
down vote
You make the repo restricted from other developer to push directly on master .
Make the devs have the same database of live before starting the project.
Dev create branch from master , make whatever it is assigned for , create pull request , and after his code is merged into master , the other dev branch its behind and they need to sync their branch .
Example dev 1 install an extension with composer , when his branch is merged into master , and the dev 2 update is local with the extension already merged , he will got the same database as the Dev 1 (exept the configurations , but it doesnt matter since the configs usually are made on production site as customer want).
The only thing you need to concern is when having one developer task of upgrading the magento version and other dev is working on a large module regarding database modification . In that case you let know the devs about the steps of the workflow , so the dev that is doing the module have knowledge of the magento upgrade is being made.
Keep in mind to test after the merge first on the dev sites instead of production just to be sure.
You make the repo restricted from other developer to push directly on master .
Make the devs have the same database of live before starting the project.
Dev create branch from master , make whatever it is assigned for , create pull request , and after his code is merged into master , the other dev branch its behind and they need to sync their branch .
Example dev 1 install an extension with composer , when his branch is merged into master , and the dev 2 update is local with the extension already merged , he will got the same database as the Dev 1 (exept the configurations , but it doesnt matter since the configs usually are made on production site as customer want).
The only thing you need to concern is when having one developer task of upgrading the magento version and other dev is working on a large module regarding database modification . In that case you let know the devs about the steps of the workflow , so the dev that is doing the module have knowledge of the magento upgrade is being made.
Keep in mind to test after the merge first on the dev sites instead of production just to be sure.
answered 51 mins ago
Ylgen Guxholli
19215
19215
But if in this case dev 2 creates dummy products (or cms pages) dev 1 will not have these products.
– Arno Vande Cappelle
45 mins ago
Because no need to have those since they are "dummy configs" :) , the main configs are the live configs , and when they deploy ,they dont deploy the dummy configs . The configs are updated manually .
– Ylgen Guxholli
41 mins ago
But if we have other data that needs to go to production? For example we want to use the advanced content manager module (marketplace.magento.com/blackbird-contentmanager.html). Here you have content types that should be "exported" to the production environment.
– Arno Vande Cappelle
35 mins ago
Still , its not good using more than 1 developer working in one extension configuration , because will be a mess . Let one dev worked on those configs , and if he tests on his local , he passes the configs in qa envoriment (not in production directly) so you as a Tester or who can Review the work developer is doing , make the approve to go or not to go for the configs update in production . That feature isnt yet lanched yet by the extension .
– Ylgen Guxholli
26 mins ago
But as i said let one dev working with that. When i did the list i dint tell that the devs should not update the db ever. Yes they should but in intervals you looks like you need to have your devs having the latest database , for ex. when you finish deploying the configs of the content manager on production, you tell the dev to do a refresh of their local database.
– Ylgen Guxholli
26 mins ago
add a comment |Â
But if in this case dev 2 creates dummy products (or cms pages) dev 1 will not have these products.
– Arno Vande Cappelle
45 mins ago
Because no need to have those since they are "dummy configs" :) , the main configs are the live configs , and when they deploy ,they dont deploy the dummy configs . The configs are updated manually .
– Ylgen Guxholli
41 mins ago
But if we have other data that needs to go to production? For example we want to use the advanced content manager module (marketplace.magento.com/blackbird-contentmanager.html). Here you have content types that should be "exported" to the production environment.
– Arno Vande Cappelle
35 mins ago
Still , its not good using more than 1 developer working in one extension configuration , because will be a mess . Let one dev worked on those configs , and if he tests on his local , he passes the configs in qa envoriment (not in production directly) so you as a Tester or who can Review the work developer is doing , make the approve to go or not to go for the configs update in production . That feature isnt yet lanched yet by the extension .
– Ylgen Guxholli
26 mins ago
But as i said let one dev working with that. When i did the list i dint tell that the devs should not update the db ever. Yes they should but in intervals you looks like you need to have your devs having the latest database , for ex. when you finish deploying the configs of the content manager on production, you tell the dev to do a refresh of their local database.
– Ylgen Guxholli
26 mins ago
But if in this case dev 2 creates dummy products (or cms pages) dev 1 will not have these products.
– Arno Vande Cappelle
45 mins ago
But if in this case dev 2 creates dummy products (or cms pages) dev 1 will not have these products.
– Arno Vande Cappelle
45 mins ago
Because no need to have those since they are "dummy configs" :) , the main configs are the live configs , and when they deploy ,they dont deploy the dummy configs . The configs are updated manually .
– Ylgen Guxholli
41 mins ago
Because no need to have those since they are "dummy configs" :) , the main configs are the live configs , and when they deploy ,they dont deploy the dummy configs . The configs are updated manually .
– Ylgen Guxholli
41 mins ago
But if we have other data that needs to go to production? For example we want to use the advanced content manager module (marketplace.magento.com/blackbird-contentmanager.html). Here you have content types that should be "exported" to the production environment.
– Arno Vande Cappelle
35 mins ago
But if we have other data that needs to go to production? For example we want to use the advanced content manager module (marketplace.magento.com/blackbird-contentmanager.html). Here you have content types that should be "exported" to the production environment.
– Arno Vande Cappelle
35 mins ago
Still , its not good using more than 1 developer working in one extension configuration , because will be a mess . Let one dev worked on those configs , and if he tests on his local , he passes the configs in qa envoriment (not in production directly) so you as a Tester or who can Review the work developer is doing , make the approve to go or not to go for the configs update in production . That feature isnt yet lanched yet by the extension .
– Ylgen Guxholli
26 mins ago
Still , its not good using more than 1 developer working in one extension configuration , because will be a mess . Let one dev worked on those configs , and if he tests on his local , he passes the configs in qa envoriment (not in production directly) so you as a Tester or who can Review the work developer is doing , make the approve to go or not to go for the configs update in production . That feature isnt yet lanched yet by the extension .
– Ylgen Guxholli
26 mins ago
But as i said let one dev working with that. When i did the list i dint tell that the devs should not update the db ever. Yes they should but in intervals you looks like you need to have your devs having the latest database , for ex. when you finish deploying the configs of the content manager on production, you tell the dev to do a refresh of their local database.
– Ylgen Guxholli
26 mins ago
But as i said let one dev working with that. When i did the list i dint tell that the devs should not update the db ever. Yes they should but in intervals you looks like you need to have your devs having the latest database , for ex. when you finish deploying the configs of the content manager on production, you tell the dev to do a refresh of their local database.
– Ylgen Guxholli
26 mins ago
add a comment |Â
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f246957%2fmagento-development-environment-database-setup%23new-answer', 'question_page');
);
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password