
ojab
12.04.2018
08:22:57
лучше ставить из-под юзера, которому приложение принадлежит
и выдать ему прав, если их нет

Pavel
12.04.2018
08:31:33
Всем привет!
Кто имел опыт проектирования БД для интернет-магазинов/каталогов с различными параметрами для разных типов устройств.
Вот типа амазона:
https://www.amazon.com/Power-Drill-Drivers/b/ref=dp_bc_5?ie=UTF8&node=9022404011
Сбоку фильтры для дрелей. В других разделах свои фильтры.
Интересует именно организация БД. Может есть готовые know how, чтобы не придумывать велосипед.

Vasiliy
12.04.2018
08:33:26
Spree?

Google

Pavel
12.04.2018
08:35:13

Vasiliy
12.04.2018
08:35:37
ну да

Pavel
12.04.2018
08:37:02
ок. сейчас посмотрю. спасибо!

Alex
12.04.2018
08:38:32
Кто-то тут писал, что у сприи шляпа фильтр

Vasiliy
12.04.2018
08:39:41
шляпа не шляпа, но он всё равно же хочет своё

Pavel
12.04.2018
08:41:08
Да, мне главное схему БД посмотреть. Так у меня есть вариант реализации в голове, просто хочу сопоставить.

ojab
12.04.2018
08:42:11
вообще через реляционную БД faceted search не очень делать

Pavel
12.04.2018
08:43:39
Я пока думаю использовать jsonb для параметров товаров

ojab
12.04.2018
08:45:40
если хранить производителя и прочие ассоциации в jsonb — всё плюсы реляционности теряются

Pavel
12.04.2018
08:46:09
Спасибо за четкое определение – faceted search
Теперь все намного проще

dima
12.04.2018
08:46:41

Google

Pavel
12.04.2018
08:47:19
Если есть примеры по мимо spree буду очень признателен

Антон
12.04.2018
08:49:17
а нет их
но MVP для доказательства концепции можно запилить и на спри
только быть готовым сразу переписать все на рельсу
именно MVP быстрее получится на спри или на битриксе, прости господи

Pavel
12.04.2018
08:55:11
Там интернет магазина не будет. Просто нужен каталог различных продуктов с faceted search
Наткнулся на то, что elasticsearch из коробки вроде умеет
https://blog.madewithlove.be/post/faceted-search-using-elasticsearch/

dima
12.04.2018
08:56:49
а тебе этот гем не подойдет? https://github.com/fortytools/forty_facets

Pavel
12.04.2018
08:57:13

Vasiliy
12.04.2018
09:05:39
можешь посмотреть апишку в insales ещё, не структура бд конечно, но из неё видно как что у них с товарами
чот снёс к чертям постгрю, поставил по новой и всё равно 10.1 встала

Darth
12.04.2018
09:24:54
Ставь с версией, чо

Vasiliy
12.04.2018
09:31:59
в убунтовской репе только 10.1

Alex
12.04.2018
09:55:33
Господа, а что будет когда ID с типом serial достигнет максимального значения(2147483647) в postgres? Там же инкремент идет

Vasiliy
12.04.2018
09:55:55
ад остынет

ojab
12.04.2018
10:03:49

Alex
12.04.2018
10:05:10
out of range как я и подозревал, спасибо

Alexander
12.04.2018
10:11:04
Кстати, а если я руками поменял id на значение которое ещё не дошло, что будет когда автоинкремент дойдет туда?

Максим
12.04.2018
10:12:29
тест
ребят меня слышно?

Google

Максим
12.04.2018
10:12:34
отзовитесь плиз
прокси тестирую

ojab
12.04.2018
10:13:07

Alexander
12.04.2018
10:14:07

Pavel
12.04.2018
10:14:47

Максим
12.04.2018
10:14:52
супер
спасибо
настроил прокси на тг :)

ojab
12.04.2018
10:14:59

Alexander
12.04.2018
10:16:25
Спасибо, значит упадет. Прикольно, можно ограничить количество записей в таблицу супер способом)

ojab
12.04.2018
10:16:50
нет, sequence выдаст следующее значение по nextval
sequence вообще ничего про таблицу не знает, он знает текущее значение и умеет выдавать следующее. Так что nextval сработает, текущее значение заинкрементится, и упавший после этого insert уже ни на что не влияет

Silent Bob
12.04.2018
10:46:55
А можно в валидациях поставить значение по дефолту свойству?

Michael
12.04.2018
10:47:46
Добрый день.
подскажите пожалуйста метод по типу insert только без изменения объекта
insert:
params = {issue_date: "20OCT17"}
#=> {:issue_date=>"20OCT17"}
issue_date = params[:issue_date].insert(5, '20')
#=> "20OCT2017"
issue_date
#=> "20OCT2017"
params
#=> {:issue_date=>"20OCT2017"}
какой-то метод:
params = {issue_date: "20OCT17"}
#=> {:issue_date=>"20OCT17"}
issue_date = params[:issue_date].?????????(5, '20')
#=> "20OCT2017"
issue_date
#=> "20OCT2017"
params
#=> {:issue_date=>"20OCT17"}
что сам params не менялся

ojab
12.04.2018
10:59:14

Silent Bob
12.04.2018
11:00:42
теоретически да (если пишешь свою валидацию), но этого делать не стоит
я вот что нашел https://stackoverflow.com/a/46868553
# app/models/store_listing.rb
class StoreListing < ActiveRecord::Base
attribute :my_string, :string, default: "new default"
end
Но это к валидациям совсем не относится. Хотя и правильно, дефаулт значение не должна устанавливать валидация

ojab
12.04.2018
11:01:21

Michael
12.04.2018
11:01:32

Google

Silent Bob
12.04.2018
11:02:05

Michael
12.04.2018
11:02:44

Andrey
12.04.2018
11:21:30
Всем привет!
Подскажите как правильно реализовать заполнение столбца таблицы рандомными данными, если быть точнее числами?
Для этого писать миграцию или таск?
Что для этого 'best practice' ?

No
12.04.2018
11:21:54
таск
миграция не должна работать с данными
только с их структурой

Andrey
12.04.2018
11:22:41
Вот, да в этом и вопрос.
А то что таск потом никогда в жизни этот не пригодится, тоесть второй раз запущен он точно уже не будет, это нормально?

Lavrushchik
12.04.2018
11:23:15
вопрос по grape.
для каждой модели - отдельный модуль, в котором описываются http-запросы и маунтится в главный модуль.
в хелпере есть метод "authenticate_request!" по проверке авторизации пользователя.
потом при описании какого-нибудь get-метода, указываю проверку с методом аутентификации.
вопрос в следующем - можно ли как-то указать для каких модулей вызывать authenticate_request?

No
12.04.2018
11:23:28

Andrey
12.04.2018
11:24:46
Ну удалять не выход, ведь если проект будет развернут на другой машине — с чистой базой, то он пригодится.
А вот повторно, на одной и той же машине его точно не будет.
И после написать миграцию, и использовать там таск?
Так делать?

ojab
12.04.2018
11:26:03
В db:seed добавить?

Andrey
12.04.2018
11:26:20
Возможно, об этом тоже думал)
Ищу best practice :D

ojab
12.04.2018
11:27:24
Слишком мало данных, непонятно зачем заполнять какую-то таблицу рандомными данными.
В новом проекте в этой таблице ничего не будет, значит и столбец заполнть не придётся, например

Andrey
12.04.2018
11:28:44
Не, seed наверное не подойдет, так как проект рабочий, и на продакшене уже несколько тысяч записей.
Есть таблица обьектов, туда нужно добавить поле, в котором будут в данный момент рандомные числа, хотелка заказчика.
После — колбеками будут увеличиваться эти числа.

Google

Andrey
12.04.2018
11:29:40
Как-то так :)

ojab
12.04.2018
11:35:41
значит в миграции
ибо приводить старые данные к новой структуре таблицы — задача миграции

Sergey
12.04.2018
11:46:09
Ребята кто работал с докеров напишите в личку, есть вопрос

Andrey
12.04.2018
11:50:23
ojab Спасибо!

Anton
12.04.2018
12:05:39
посоны, еще тут поспамнлю (сорян), помогите пожалуйста - пройдите опрос
https://goo.gl/forms/weQbVYOJGKpMmqG73

Silent Bob
12.04.2018
13:05:20
Подскажите как можно примерно запилить сложный филд для формы. Пример: http://dl4.joxi.net/drive/2018/04/12/0029/0592/1905232/32/1faf599bae.jpg
Мне нужно чтобы value итогового инпута было к примеру "3days" или "10weeks". Я понимаю что это надо делать с помощью JS но что-то примеров никак не могу нагуглить.

Darth
12.04.2018
13:13:11
2 филда, не?
Самый простой способ :)
Simple form возможно обладает готовым

Silent Bob
12.04.2018
13:14:41

Darth
12.04.2018
13:15:14
Нет, в парамсах :)

Silent Bob
12.04.2018
13:15:43
спс чет тупил не додумался)

Александр
12.04.2018
14:07:21
Вопрос, как сделать алиас динамического метода? = )
Или, как можно отложить выполнение кода? Или как можно заинклюдить что-то в класс через время после загрузки?

dima
12.04.2018
14:33:55

Александр
12.04.2018
14:38:02
Хм, не похоже на то что мне нужно