Мне приходилось делать это много раз. Я в значительной степени использую те же предложения, перечисленные здесь, но подытожу...
/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 и храню в нем такие скрипты, которые используются для настройки альтернативных сред:
- созданныйb.sql
- production.setup.sql
- staging.setup.sql
- мой-dev.setup.sql
createdb.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
Удачи!
person
Greg Robbins
schedule
06.09.2012