Мне приходилось делать это много раз.Я в основном использую те же предложения, что и здесь, но чтобы подвести итог ...
/ app / etc / local.xml
В управлении версиями я храню эти файлы,каждый со своей БД и данными кеширования.Это модифицированные копии исходного файла local.xml: - app / etc / production.local.xml - app / etc / staging.local.xml - app / etc / my-dev.local.xml
Файл local.xml, созданный при установке, будет удален.Он заменяется мягкой ссылкой local.xml на соответствующий файл в каждой среде:
cd app/etc
ln -s production.local.xml local.xml
Примечания по управлению различными базами данных:
Затем я обычно создаю новыйкаталог корневого уровня с именем / sql, и там я храню подобные сценарии, которые используются для настройки альтернативных сред:
- madeb.sql
- production.setup.sql
- staging.setup.sql
- my-dev.setup.sql
madeb.sql запускается от имени администратора MySQL и просто устанавливает базу данных и пользователя.
create schema magentoschema; create user magentouser;
grant all on magentoschema.* to 'magentouser'@'localhost';
set password for 'magentouser'@'localhost' = password('secret');
После создания базы данных вы можете перейти к исходной установке и получить mysqldump базы данных:
mysqldump -u magentouser -p -h your.host.name magentoschema > magento.dump.sql
, а затем установить ее в любой среде, в которой вы работаете:
mysql -u magentouser -p -h localhost magentoschema < magento.dump.sql
Затем вам нужно изменить имя хоста (и, возможно, некоторые другие параметры) в core_config_data.Самое простое выглядит следующим образом:
update core_config_data set value='http://staging.yourstore.com/' where config_id in (3,4);
Вам необходимо проверить установку Magento, чтобы узнать, что такое config_id для записей с web / secure / base_url и web / unsecure / base_url в столбце пути.Это просто, просто сделайте запрос в базе данных следующим образом:
select * from core_config_data where value like 'http%';
Так что создайте файлы * .setup.sql с правильными именами хостов для каждой среды и запустите скрипт в mysqlтак же, как вы загрузили базу данных:
mysql -u magentouser -p -h localhost magentoschema < staging.setup.sql
Удачи!