• Почему не удаляется столбец в таблице при изменении db_schema.xml?

    link_web
    @link_web
    Magento, Laravel, Zend, Shopify, Prestashop, WP
    Попробуйте это сделать, как это сделал я:
    1) создайте файл db_schema.xml с такой структурой :
    <?xml version="1.0"?>
    
    <schema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:noNamespaceSchemaLocation="urn:magento:framework:Setup/Declaration/Schema/etc/schema.xsd">
        <table name="mi_declarative_schema_new" resource="default" comment="Declarative schema test">
            <column xsi:type="int" name="id" identity="true" comment="ID Auto Increment" />
            <column xsi:type="text" name="name" comment="name" />
            <column xsi:type="text" name="email" comment="email" />
            <constraint xsi:type="primary" referenceId="PRIMARY">
                <column name="id" />
            </constraint>
        </table>
    </schema>

    2)Очистите кеш php bin/magento cache:flush
    3)Сгенерируйте db_schema_whitelist.json файл используя команду
    php bin/magento setup:db-declaration:generate-whitelist --module-name=Mi_DeclarativeSchema

    3)Запустите upgrade php bin/magento setup:upgrade
    После чего создастся новая таблица с колонками , которые мы указали :
    5c38d696e4e86315879761.png
    4)Далее закомментируем ненужный нам столбец :
    <?xml version="1.0"?>
    
    <schema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:noNamespaceSchemaLocation="urn:magento:framework:Setup/Declaration/Schema/etc/schema.xsd">
        <table name="mi_declarative_schema_new" resource="default" comment="Declarative schema test">
            <column xsi:type="int" name="id" identity="true" comment="ID Auto Increment" />
            <column xsi:type="text" name="name" comment="name" />
            <!--<column xsi:type="text" name="email" comment="email" />-->
            <constraint xsi:type="primary" referenceId="PRIMARY">
                <column name="id" />
            </constraint>
        </table>

    5)чистим кеш на всякий случай
    6)запускаем генерацию whitelist опять .
    php bin/magento setup:db-declaration:generate-whitelist --module-name=Mi_DeclarativeSchema

    7)теперь запускаем upgrade
    и воуля , наша колонка удалилась:
    5c38d6b6722ca605434674.png

    Суть в том, что нужно генерить whitelist после каждого изменения в базе, об этом можно почитать в документации подробнее. Но это временное решение (whitelist) и вскоре будет что-то новое, но пока что вот так .
    Ответ написан
    1 комментарий
  • Как отчитаться за работу если ничего не сделал?

    saboteur_kiev
    @saboteur_kiev Куратор тега Организация работы
    software engineer
    Можно отчитываться за часть проделанной работы.

    Исследовал возможность использовать вариант xx.
    Разбирался с фреймворком yy.
    Исправил проблему с xx, но тестирование показало, что исправлено не все. Продолжаю работать.
    Занимался тикетами #1 и #2, #3 пока что не начинал.

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

    В общем в твоем случае, я бы пообщался как-нить 1 на 1 с непосредственным начальником и выяснил для себя что именно он хочет видеть в отчетах.
    Ответ написан
    Комментировать
  • Событие jQuery при попадание элемента в поле зрения пользователя?

    userAlexander
    @userAlexander
    Верстка наше все)
    В поле зрения пользователя это значит когда пользователь доскроллил до элемента который находиться где то в контенте?

    Например
    var target = $('.elem');
    var targetPos = target.offset().top;
    var winHeight = $(window).height();
    var scrollToElem = targetPos - winHeight;
    $(window).scroll(function(){
    	var winScrollTop = $(this).scrollTop();
    	if(winScrollTop > scrollToElem){
    		//сработает когда пользователь доскроллит к элементу с классом .elem
    	}
    });
    Ответ написан
    4 комментария