Drush arr с заменой данных конфигурации, конфиги, дистрибутивы

Главные вкладки

Аватар пользователя univerico univerico 24 мая 2019 в 13:15

Здравствуйте! Есть идея быстрого создания сайта на основе команды drush arr
с предварительным созданием для неё плагина по замене имени сайта, слогана и т. д.
Что думаете об этой идее?
Главный вопрос, будет ли это удобнее чем перенос конфигурации на восьмерке?
Я просто пока на 7. Если на 8 это смысла иметь не будет, то стоит домучиться имеющимся способами на 7 и потом на 8 уже делать конфигами. Или если это все же удобнее, чем конфиги, то насколько это сложно будет сдалать и вообще возможно ли и сколько может приблизительно стоить такой плагин?

Комментарии

Аватар пользователя Semantics Semantics 24 мая 2019 в 13:23
2

Для седьмого Drupal были features и drush make, например.
Но смысла всё равно не имеет.
Это изобретение проблемы и её героическое решение

Аватар пользователя univerico univerico 24 мая 2019 в 14:14

drush arr "$ARCHIVE_PATH ...

Спасибо. Этот "плагин" уже встроен в драш? Или это идея только? Т.е. с этим уже сейчас можно сделать drush arb для сайта 1, а потом для сайта 2 вызвать drush arr с подстановкой?
И это будет тоже самое что и 1-копирование сайта -2- редактирование вручную конфигурационных файлов - 3- и вставка его на новый домен?

Гляньте лучше эту инициативку.

Спасибо. Очень для мня там все сложно. Но посмотрю.

Аватар пользователя bumble bumble 24 мая 2019 в 14:22
1

Этот "плагин" (который не плагин, а просто строка скрипта, на деле) делает то что Вы описали - разворачивает архив (да, из arb), и меняет имя / слоган.

Аватар пользователя gun_dose gun_dose 24 мая 2019 в 20:37
1

Создавать сайты из дампа базы - не лучшая идея. Более предпочтительно создать установочный профиль, все настройки (поля, типы сущностей, вьюсы и т.д.) упаковываем через features в модуль, который вкидываем в профиль и в файле профиля пишем логику включения зависимостей, т.к. там будут десятки модулей и если их тупо перечислить в .info файле, то друпал может неправильно выстроить последовательность их включения и будет фатал эррор. Контент можно также упаковать в модуль при помощи модуля default content (для 7 и 8 он немного по-разному называется). Устанавливать всё это добро через команду drush si.

Если будут какие-то непонятки, можно просто взять на друпалорге самый толстый дистрибутив, и посмотреть, как это устроено у них. Например, я так подсмотрел в Open Social логику определения последовательности включения модулей.

И туда же в профиль закинуть свою базовую тему.

Аватар пользователя univerico univerico 24 мая 2019 в 22:52

Спасибо!
То, что Вы описываете наверное круто, только у меня на каждом шаге из того что Вы пишете будут глюки и нестыковки, например, у меня в прошлых пробах с features очень многое не удавалось перенести, в том числе из того, что было накликано, а когда дойдет до файла, в котором нужно логику прописывать и до синтаксиса drush si, там я тоже на долго залипну. Поэтому вариант drush arb для меня как самый простой и был желателен.
Предполагалось сделать свой "дистрибутив" чистый Друпал + нужные модули и с накликаным всем, что нужно.
Сделать из него drush arb, и потом (вместо заморочек с дистрибутивом обычным способом) загружать на нужный домен с drush arr.

Создавать сайты из дампа базы - не лучшая идея.

А почему Вы так считаете?

Аватар пользователя gun_dose gun_dose 24 мая 2019 в 23:11
1

Дамп базы трудно сопровождать, если вы собираетесь развивать со временем этот шаблон, плюс может попадать много лишнего мусора.

И не забудьте тогда первым делом запускать drush updb и drush entup, потому что модули постоянно обновляются, а дамп базы будет старый.

Аватар пользователя univerico univerico 25 мая 2019 в 0:44

Спасибо!

Дамп базы трудно сопровождать,

Уже после drush arr на работающем сайте сложности какие-то с базой данных, потому что она была не с нуля создана, а из дампа? Не соображу, в чем сложность при развитии шаблона?

плюс может попадать много лишнего мусора.

Имеется ввиду если использовать для заготовки какой-то работающий сайт? А если я буду специально делать drush arb сайта заготовки пустого только с нужными мне модулями и кликами UI, и потом с drush arr его на новый домен переносить, то мусора не будет?

Аватар пользователя gun_dose gun_dose 25 мая 2019 в 0:45
1

В принципе, можно и дамп накатывать, если подходить с умом. Как минимум, кэш и журнал должны быть исключены. А вообще, если у вас не будет проблем, то почему бы и нет))

Аватар пользователя univerico univerico 25 мая 2019 в 8:57

Ясно. Спасибо.

Как минимум, кэш и журнал должны быть исключены.

А как в таком случае их исключить? Может вручную удалять определенные таблицы из базы или их содержимое или файлы какие-то? Или просто перед/после дампа кэш очищать?

Аватар пользователя sas@drupal.org sas@drupal.org 25 мая 2019 в 8:31
1

На 8-ке отделена конфигурация и данные, если Вам что-то нужно для дистрибутива из базы потом остается выгрузить это в юмли конфигурации и тогда в ней будет все что надо для развертывания дистрибутива. имхо базу использовать ядерную.
Гейсы например не спешат делать дистрибутив для https://www.drupal.org/project/commerce_kickstart для 8-ки, а предлагают использовать демо https://github.com/drupalcommerce/demo-project

Аватар пользователя univerico univerico 3 июня 2019 в 19:47

Спасибо. Я не очень пойму, что Вы имеете ввиду, но по базе данных нужно, чтобы новый сайт имел отдельную базу данных. Для решения этой проблемы самым простым для меня было создание сайта на другом домене, т.е. предварительный перенос архива на другой аккаунт хостинга и разворачивание уже там, сейчас я в процессе (там возник глюк с SSL и перенаправлением, пока настраиваю).
А какие еще могут быть варианты решения с тем, чтобы к новому сайту подключить такую же базу данных но отдельную?

Аватар пользователя sas@drupal.org sas@drupal.org 3 июня 2019 в 20:03
1

Коробка с базой лежит в основе дистрибутива, при обновлении безопасности, можно просто обновить коробку например одной командой через
drush up --security-only
При этом настройки дистрибутива в базе не поменяются.

Аватар пользователя univerico univerico 3 июня 2019 в 21:43

Спасибо. Вы имеете ввиду дистрибутив в узком смысле слова (например commerce_kickstart)?
Я как раз чтобы не заморачиваться с созданием своего дистрибутива хочу вместо этого делать drush arr своего сайта-шаблона, но на другом домене и с отдельной базой данных, но со всеми теми же таблицами, которые и настройки перенесут, и мой вопрос по базе данных к этому относился.

Аватар пользователя univerico univerico 4 июня 2019 в 11:39

Спасибо большое! Я сейчас ищу способ для Друпал7. Drush стоит 6(но, если дело в нем, то его если что проще обновить). Что-то у меня выдается сообщение "The drush command 'config-export' could not be found" Это на семерке тоже работает?