@laravel_pro

Страница 1701 из 2014
Jack
08.08.2018
09:53:54


Andrey
08.08.2018
09:54:31
кто знает нормальный блин пример docker-compose конфиг для ларки для дева

Jack
08.08.2018
09:54:37


Google
Andrey
08.08.2018
09:55:34
да их много в сети
они однозначно простые или сделанные хреново

Subb98
08.08.2018
09:55:46
а какой тебе нужен?

Andrey
08.08.2018
09:58:00
а какой тебе нужен?
может скорее я чего-то недопонимаю, но если я монтирую директории в контейнер, как после этого выполнить кучу команд настроить права нужные для директорий подход с COPY не подходит, мне нужно типа что бы изменения были и в контейнере запустить все от нужного юзера

Subb98
08.08.2018
09:58:30
щас скину тебе пример

version: '3' services: frontend: build: docker/frontend depends_on: - backend volumes: - .:/app ports: - "3000:3000" - "3001:3001" command: npm run watch networks: - frontend backend: build: . depends_on: - db - smtp volumes: - .:/app command: ./artisan serve --host=0.0.0.0 --port=8080 networks: - frontend - backend db: image: mysql:5 env_file: docker/mysql/local.env networks: - backend smtp: build: docker/smtp ports: - "1080:1080" networks: - backend networks: frontend: backend:

Subb98
08.08.2018
10:01:15
а не лучше ли phpfpm + nginx или это дело вкуса ? а composer install мне конектится типа по ssh и запускать ?
да, собственно, если нужен nginx - ставишь. а так в нём нет нужды.

Andrey
08.08.2018
10:01:57
да, собственно, если нужен nginx - ставишь. а так в нём нет нужды.
еще я не вижу где права выставляются, у тебя получается все в контейнере от рута

Subb98
08.08.2018
10:02:26
тебе зачем ещё какие-то права в изолированном контейнере? я хз

Andrey
08.08.2018
10:03:46
тебе зачем ещё какие-то права в изолированном контейнере? я хз
скорее запутался когда увидел примеры в инете

Subb98
08.08.2018
10:04:05
не, ну есть мнение, что это хорошая практика. но смысла я лично не вижу в этом

Andrey
08.08.2018
10:05:27
я скорее про то когда юзается phpfpm

Google
Aibek
08.08.2018
10:05:32
ребят, есть два пакета и вот можно как-то отсортировать сервис-провайдеры? чтобы не по имени шли а то получается нужные действия выполняются сперва в другом сервис-провайдере, а нужно наоборот. думаю понятно изложил мысль)

Maksim (Ellrion)
08.08.2018
10:05:38
ты сначало зарегал свой Api класс под именем yandex-geocoding как синглтон, а потом зарегал еще. правильно там где регаешь как синглтон первым параметром Api::class а уже в алисе первым параметром Api::class а вторым нужный альяс (определись какой)

Сергей
08.08.2018
10:08:10
подскажите ка решить траблу у меня в контейнере все файлы на юзере nginx а при входе на сайт видимо он создает лог от имени рута и на сайте выводится ошибка из за этого, приходится руками менять, как решить?

Subb98
08.08.2018
10:09:32
кто входит на сайт?

Сергей
08.08.2018
10:11:43
добавь рута в группу www-data
просто почему создается от рута)

Subb98
08.08.2018
10:12:28
а можешь пример Dockerfile для бекенда показать ?
FROM php:7.1 RUN apt-get update # Core RUN apt-get install -y unzip git RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer # Debug RUN apt-get install -y mysql-client RUN docker-php-ext-install pdo_mysql mysqli WORKDIR /app

Andrey
08.08.2018
10:13:53
Subb98
08.08.2018
10:14:12
ничего. тем более, что я не эксперт )

"в чем разница если я укажу workdir в docker-compose.yml и Dockerfile" лучше открой доку, я не помню, в чём именно отличие

вроде, оба значения нужны

Dockerfile собирается один раз, к слову

поэтому в двух местах указывается

Евгений
08.08.2018
10:36:36
Кто как сделал бы историю изменения сущности? Есть условный Item с несколькими полями типа id, title, text. Как бы вы стали хранить историю изменения этих данных?

Google
Subb98
08.08.2018
10:38:50
ок, я бы попробовал парсить миграции :D

Евгений
08.08.2018
10:39:10
а для чего это надо?
чтобы отследить кто когда и как изменил данные с возможностью откатить до какой то версии, условно. В вордпрессе такое есть например

Subb98
08.08.2018
10:39:11
а как хранить - это да, большой вопрос )

Евгений
08.08.2018
10:40:22
ну да, у меня тут больше вопрос куда писать изменения. Делать доп таблицу с дублированием полей, так себе идея. Если добавить поля то надо будет перепиливать много всего

Илья
08.08.2018
10:40:41
Subb98
08.08.2018
10:40:59
при чем тут вообще миграции?
ну, обычно, просто так не меняются схемы

Илья
08.08.2018
10:41:16
ну, обычно, просто так не меняются схемы
речь не о схеме, а о истории изменений сущности

Subb98
08.08.2018
10:41:22
а, пардон тогда

Евгений
08.08.2018
10:42:09
просто в этой же модели хранить?

Edgar
08.08.2018
10:42:26
string:event, json:before, json:after
так себе вариант. Если объект жирный, на каждый чих будет неплохо засираться база

Евгений
08.08.2018
10:43:04
да ну бля, сам момент то отследить легко, мне именно как хранить изменения лучше всего

Maksim (Ellrion)
08.08.2018
10:43:16
просто в этой же модели хранить?
нет отдельную таблицу таких пакетов несколько уже есть. гугли model versioning (history)

Евгений
08.08.2018
10:43:20
чтобы знать кто изменил, когда изменил, и чтоб можно было восстановить условно ту версию

F01134H
08.08.2018
10:43:22
В базе данных

Google
Илья
08.08.2018
10:43:25
я же кинул уже пакет выше

ты смотрел?

Евгений
08.08.2018
10:43:41
я же кинул уже пакет выше
ну он именно про ивенты, а не про хранение

F01134H
08.08.2018
10:43:56
чтобы знать кто изменил, когда изменил, и чтоб можно было восстановить условно ту версию
Что мешает тебе писать все вышеперечисленное так, как ты хочешь?

Edgar
08.08.2018
10:44:06
ну дак и храни изменения конкретно. поле, старое значение, новое значение

Subb98
08.08.2018
10:44:13
F01134H
08.08.2018
10:44:15
Я чет не пойму в чем проблема

Admin
ERROR: S client not available

Adel
08.08.2018
10:44:39
человеку просто не мешало бы ознакомиться с эвент сорсингом

просто инфы ради

F01134H
08.08.2018
10:44:47
он спрашивает совета, как лучше писать
У тебя есть несколько полей, как ты их ещё запишешь ?‍♂

Adel
08.08.2018
10:44:50
тогда у него не возникало бы подобных вопросов

Евгений
08.08.2018
10:44:53
ок, добавляем в модель Item новое поле foo_bar, значит надо добавлять и в доп таблицу это и перепиливать (возможно) ивент

Adel
08.08.2018
10:45:10
Тут это не при чем
очень даже причем

Maksim (Ellrion)
08.08.2018
10:45:22
я сам писал как то, nаблица такая была { Schema::create('entities_history', function (Blueprint $table) { $table->increments('id'); $table->unsignedInteger('initiator_user_id')->nullable(); $table->unsignedInteger('masked_user_id')->nullable(); $table->morphs('entity'); $table->string('event'); $table->json('before')->nullable(); $table->json('after')->nullable(); $table->timestamp('executed_at'); });

F01134H
08.08.2018
10:45:29
очень даже причем
Он про способ хранения а не про организацию

Google
Евгений
08.08.2018
10:45:42
все, можно расходиться)

Илья
08.08.2018
10:46:59
ну он именно про ивенты, а не про хранение
https://docs.spatie.be/laravel-event-projector/v1/handling-events/preparing-events

Edgar
08.08.2018
10:47:42
спс
такой треш. тебе всего 3 поля надо: field_name, old_value, new_value

вот будет у тебя моделька с парой полей text да еще какой нить json в придачу

посмотрю я как ты по ней будешь лог действий выковыривать на 1к+ действий

+ изменения придется каждый раз калькулировать между старой и новой версией

Евгений
08.08.2018
10:48:30
можно хранить n последних

вообще нашел пару пакетов, щас изучаю

Евгений
08.08.2018
10:51:36
спс

я уже понял в общем то)

Adel
08.08.2018
10:52:30
это все конечно хорошо, но есть такое понятие как транзакция. и иногда в ней меняются несколько сущностей

Andrey
08.08.2018
10:52:31
тебе зачем ещё какие-то права в изолированном контейнере? я хз
а то что vendor потом будет создан от рута при composer install не смущает ?

Adel
08.08.2018
10:52:40
точнее не сущностей в строк в таблице

Subb98
08.08.2018
10:52:48
пусть там хоть трэш будет в контейнере, вообще похер

это dev, а не prod

Adel
08.08.2018
10:53:47
именно поэтому подход с правильными агрегатами и ES сильно круче. но ладно... там надо и опыт какой-никакой иметь и скилл

Subb98
08.08.2018
10:55:43
если сильно страшно, что может что-то случиться в контейнере, то вот: You can disable plugins and scripts during package installation or updates with the following syntax so only Composer's code, and no third party code, will execute: composer install --no-plugins --no-scripts ... composer update --no-plugins --no-scripts ...

Andrey
08.08.2018
10:56:37
это dev, а не prod
а допустим если проект стянут с гита, backend же не запустится так как нету еще vendor, нужно перед этим запустить composer install нужно комментить строку command.... и потом запускать контейнер и зависимости ставить ,а потом обратно раскомментировать command ? или как по другому

Страница 1701 из 2014