Я работаю над строительством территории Magento, и это - безусловно большая часть гигантского пакета, с которым я когда-либо работал. Я решил настроить надлежащий сервер развития и использовать Подрывную деятельность для контроля вариантов. Я бегу в к паре контрольно-пропускных пунктов и нуждаюсь в некоторой помощи.
Что я сделал до сих пор:
Вот то, где я застреваю:
Таким образом, у меня есть полностью функциональный Magento, Устанавливают в моем dev космосе. Что я хочу сделать, теперь, добираются, мой живой сайт развернулся идентичный моему dev сайту как отправная точка. Поскольку конфигурация отличается в файле app/etc/local.xml; плюс магазины Magento стоимость для {{base_url}} в базе данных это не столь легко как обновление моего svn ствола с моего dev сайта, затем экспортируя/импортируя db.
Поскольку я добираюсь далее в будущем с этим, я хочу для там быть прямым путем, чтобы выдвинуть все на моем dev сайте через SVN и на мой живой сайт, наряду с хранением баз данных, синхронизировавших за исключением ценности {{base_url}}. Я прочитал пару сообщений форума в другом месте, что ссылка, используя svn:ignore, чтобы избежать определенных определенных для окружающей среды файлов и справочников, но не знает, как разбудить набор на моем живом сайте и гарантировать, что все правильно синхронизировано.
Я должен просто проверить копию основного кодекса от trunk/magentoo от моего repo до пространства моего живого сайта, затем управлять устанавливанием, затем установить svn игнорировать local.xml и предполагать, что они идентичны за исключением местных различий?
В этом пункте я просто не знаю, как продолжить двигаться и отказываюсь высказать любые предположения в случае, если он приведет к необходимости вытереть все и начало снова в ближайшем будущем.
Как примечание стороны - я также должен создать 'Демонстрационный' раздел кодекса для другого субдомена; показать людям как доказательство понятия. Я, вероятно, просто пересеку тот мост, когда я приеду в него. Возможно, это будет все иметь смысл к тому времени, когда я добираюсь до той задачи.
tl; версия доктора - как я управляю code&Db Magento development&live с SVN?
Благодаря всем для того, чтобы занять время, чтобы читать и ответить!
Преимущества языка сценариев в jvm. Бесшовное взаимодействие с скомпилированным кодом java.
-121--3808444-Необходимо использовать селектор .class .
// select every <select> element with classname "yourclassname"
$('select.yourclassname').each(function() {
// $(this) now refers to one specific <select> element
// we append an option to it, like you asked for
$(this).append(
$('<option value="foo">Bar</option>');
);
});
Для получения дополнительной информации о правильном выборе элементов с помощью jQuery см. http://docs.jquery.com/Selectors .
-121--3255140- Сначала необходимо проверить установленную версию программы. Таким образом, копия программы в репо является рабочей, которую вы можете фактически использовать. После этого потребуется игнорировать некоторые файлы и каталоги, чтобы можно было запустить другие среды. local.xml
является хорошим примером, но также набором игнорировать следующее:
/var/report/*
/var/log/exception.log
/var/log/system.log
/var/locks/*
/var/session/*
/var/cache/*
/var/tmp/*
/media/tmp/*
Возможно, есть другие, но это должно дать вам хорошее начало. Если вы думаете, что вы можете внести изменения в local.xml (и вы можете), скопируйте local.xml в local.xml.dist и проверьте версию .dist в репо. При оформлении заказа на других сайтах все равно придется вносить изменения вручную, но отследить это будет проще.
Для базы данных обычной практикой является выполнение mysqldump в среде разработки и сохранение его в репозитории.
mysqldump -u user -p database > mysqldump.sql
Необходимо ввести пароль для этой базы данных. Теперь копия в репо является полной копией сайта. Для настройки другой среды необходимо извлечь всю базу кода, а затем импортировать файл MySQL в базу данных.
Помните, что при этом (и при каждом обновлении базы данных в репо, а затем при необходимости обновления изменений в других средах) необходимо будет изменить {base_url} и {secure_url} в базе данных. Я видел некоторые среды, в которых разработчики создавали сценарии для автоматического выполнения этой задачи.
Попробуйте внести все изменения в копию сайта для разработчиков, поскольку это поможет синхронизировать базу данных. Если вы внесете изменения в живую копию, по крайней мере, не отражая их в dev, вы, вероятно, случайно перезаписаете их позже одним из дампов, а затем задаетесь вопросом, куда делись ваши функциональные возможности.
Надеюсь, что это поможет. Если у вас есть другие конкретные вопросы, дайте мне знать.
Спасибо, Джо
Я понимаю, что это не совсем то, о чем вы просили, но просто хочу рассказать вам о моей установке, потому что я думаю, что непрактично продолжать синхронизацию базы данных Dev с производством после того, как вы запустите ее в работу. Возможно, вы захотите внести изменения в свою базу данных для тестирования, которые не всегда легко вернуть. Построение вашего контента (продуктов и т.д.) в живом окружении и иногда копирование базы данных обратно в разработку, на мой взгляд, работает очень хорошо.
Для своего проекта я построил свое живое окружение, установив Magento с нуля, и только что просмотрел каталоги из SVN на этом этапе:
/app/code/local/MyOrg
/app/design/frontend/default/myorg
/skin/frontend/default/myorg
Любые настройки, которые вы сделаете, должны быть в одном из этих каталогов.
Я управляю этой директорией вручную на live-сервере:
/app/etc/modules
Вам нужно создать там файл только в том случае, если вы сами создаете новый модуль.
Я написал Диспетчер модулей специально для решения этих проблем.
Я не рекомендую управлять версиями приложения / etc / local.xml, чтобы каждая среда могла иметь разные учетные данные базы данных, но я рекомендую управлять версиями всего остального с помощью modman. Кроме того, я рекомендую, чтобы modman запустил скрипт, который очищает кеш Magento и применяет обновления базы данных, такие как найденное здесь .
При правильном использовании вы можете выполнить «svn commit» в своей магистрали и просто запустить «modman update-all» в других ваших средах (включая live) для обновления. Для более безопасного обновления 1.4 вы можете запустить
touch maintenance.flag; sleep 2; modman update-all; rm maintenance.flag