
Vasiliy
10.01.2018
11:59:15
attachment это чё-то не рельсовое

ojab
10.01.2018
11:59:39
имеет смысл написать, что за аборт

Nursultan
10.01.2018
12:00:42
rails aborted!
StandardError: An error has occurred, this and all later migrations canceled:
Directly inheriting from ActiveRecord::Migration is not supported. Please specify the Rails release the migration was written for:

Artur
10.01.2018
12:00:52

Google

Nursultan
10.01.2018
12:01:08
Caused by:
StandardError: Directly inheriting from ActiveRecord::Migration is not supported. Please specify the Rails release the migration was written for:
class AddAttachmentImageToPhotos < ActiveRecord::Migration[4.2]

Vasiliy
10.01.2018
12:01:34
в 5ке надо ActiveRecord::Migration[5.0]

Nursultan
10.01.2018
12:03:02
rails -v
Rails 5.1.4

Vasiliy
10.01.2018
12:03:51
версию надо явно указывать

Nursultan
10.01.2018
12:04:32
ActiveRecord::Migration[5.1]
вот так?

Vasiliy
10.01.2018
12:04:40
да
ну если не пройдёт то 5.0 лел)

Nursultan
10.01.2018
12:04:55
прошло спс)

Andrey
10.01.2018
12:31:51
Ребят, связи между таблицами где по правилам описывать нужно ? Можно в schema.rb ?
Или где то более правильно будет ?

ojab
10.01.2018
12:32:11
в миграциях
в schema.rb они сами добавятся

Andrey
10.01.2018
12:34:36
в миграциях
в каждой миграции, для каждой таблицы ? Или можно, каким то образом сделать в одном файле для всех таблиц

rekero
10.01.2018
12:35:03
зачем?

Google

ojab
10.01.2018
12:35:12
задача какая? Сделать новый проект или подцепить существующую БД к проекту?
Если новый проект с новой БД — все операции с БД делаются через написание/генерацию миграций (http://guides.rubyonrails.org/active_record_migrations.html), рельсы при bundle exec rails db:migrate сами всё в БД сделают.
Если существующая БД — есть bundle exec db:schema:dump, который сам вытащит схему из базы.

Andrey
10.01.2018
12:41:46

Eugene
10.01.2018
12:42:39
а в спроектированной бд связей не было чтоль?

ojab
10.01.2018
12:43:13

Ruslan
10.01.2018
12:43:41
Всем привет, сталкивался ли кто с проблемой, гем rails-settings-cached в продакшен моде в мейлере при запросе к переменной возвращает nil при том что если просто дернуть значение через консоль, то все ок

Andrey
10.01.2018
12:43:59

Eugene
10.01.2018
12:44:09
тебе надо в модели идти
и там прописывать has_many и belongs_to с кастомными ключами

ojab
10.01.2018
12:45:52
а, если БД не только спроектирована, но и создана — да, bundle exec rails db:schema:dump и потом писать/генерировать модели

Максим
10.01.2018
12:47:40
просто на уровне приложения будут указатели мол связь есть
на уровне бд ток в миграциях
так ведь?

Andrey
10.01.2018
12:48:32

Eugene
10.01.2018
12:49:13
связи в бд - это одно
связи в моделях - другое.
Оно об одном, но по-разному

Максим
10.01.2018
12:49:50
ну да
я считаю что правильно когда и там и там

Eugene
10.01.2018
12:50:08
ну он сказал, чт оу него уже в базе все ок

Google

Eugene
10.01.2018
12:50:15
надо тока рельсу сверху натянуть

Максим
10.01.2018
12:50:19
а
тогда да ток в моделях
не увидел

Eugene
10.01.2018
12:50:34

Максим
10.01.2018
12:50:41
да уже прочёл

Eugene
10.01.2018
12:51:10
ну хотя я теперь уже тоже засомневался. Какой такой макет там, по которому рельса создает базу

Максим
10.01.2018
12:52:05
я например вообще не пониаю что такое схема.рб и зачем она нужна

pny
10.01.2018
12:57:42

Максим
10.01.2018
12:58:02
ну да мне тоже грустно

Eugene
10.01.2018
12:58:13
да нет в этом ничего грустного
веселого, правда, тоже ?

vizvamitra
10.01.2018
13:09:02
ребят, вопрос:
Подскажите инструмент для нагрузочного тестирования MQTT-брокеров, который способен не только publish-ить (это мне вообще не важно), но и массово подписываться на топики от имени разных клиентов
Либо как вы думаете, можно с помощью руби открыть и поддерживать открытыми 20,000 tcp-сокетов (соединений с MQTT-брокером) на одной машине (не в проде, конечно)? (Допустим если я поделю их на батчи по N штук и буду каждый батч запускать в отдельном треде с задержкой в M секунд)

Sergei
10.01.2018
13:12:17
здесь можно применять тактику puma, разбивать на несколько процессов (по ядрам) и внутри каждого делать трединг. Но это будет довольно много ресурсов жрать. 20к на одной машине - не уверен.
Можно попробовать Elixir / Erlang / Go / Rust

vizvamitra
10.01.2018
13:13:14
Я уже обгуглился (все найденные плагины к jmeter, gatling и т.д. не умеют массово подписываться), уже на эликсире пробовал писать (эликсирный mqtt-клиент притаком количестве соединений начинает падать с рандоными ошибками)

Sergei
10.01.2018
13:14:02
тогда может стоит сделать несколько машинок и объединить в кластер?)

vizvamitra
10.01.2018
13:15:34
не охота с AWS возиться. Я пытаюсь без этого обойтись, но чувствую, что ещё пара часов и так и поступлю

Sergei
10.01.2018
13:18:36
мм. а ты не мог упереться в ограничение сервера на число максимальных коннектов?
на клиенте или сервере
https://stackoverflow.com/questions/410616/increasing-the-maximum-number-of-tcp-ip-connections-in-linux

Google

Sergei
10.01.2018
13:19:51
при работе с большим количеством соединение на машине, может быть такая проблема

vizvamitra
10.01.2018
13:19:55
в лимит на кол-во открытых файлов упирался, уже поднял его
спасибо за ссылку. проверю

Антон
11.01.2018
06:35:55

Vasiliy
11.01.2018
07:08:34
Вообще тесты вроде как создают бд из схемы
А не запускают все миграции

Karina
11.01.2018
07:33:17
чуваки, не знаете как сделать такое: надо отрендерить erb (не во view, а просто текстом).
ERB.new(File.read('path/f.erb')).result
и в этом f.erb есть такое:
<%= render('mail_shared/_footer') %>
и оно не работает - если с '=', то говорит, unexpected token, если просто render, говорит undefined method

Artur
11.01.2018
07:34:14
<%= render('mail_shared/footer') %>

Karina
11.01.2018
07:36:02

Admin
ERROR: S client not available

Karina
11.01.2018
07:36:45
ну с _ это ж только у рельс так

Anton
11.01.2018
07:39:47

Максим
11.01.2018
07:40:20
пацаны
девайс токен аут
и просто девайс
совместимы?
хочу чтоб и так и так было в црм

Roman
11.01.2018
08:04:10
Ребят, есть такой вопрос.
Пишу либу для парсинга geonames
У меня есть 2 класса - Puller и Extractor, они скачивают и соответсвенно распаковывают файлы, которые я им скажу. В конце каждый из классов за собой подчищает файлы
В процессе отладки это довольно геморно, так как файлы большие, занимает время и тд.
Вопрос, есть какой то способ лучше чем DEBUG = true; Puller.new.pull(file) unless DEBUG;?
Есть вариант передавать в метод значение дебага (`Puller.new.pull(file, debug: DEBUG)`) но он имхо не сильно лучше
Есть что то еще?

Антон
11.01.2018
08:05:17
пишите тесты граждане
упал файл? добавил тест

Google

Александр
11.01.2018
08:06:18
Дхх сказал не писать

Антон
11.01.2018
08:06:45
отладка для джавистов

Aleksey
11.01.2018
08:29:26
не было такого
Дхх сказал не писать
если вы про этот пост - http://david.heinemeierhansson.com/2014/tdd-is-dead-long-live-testing.html то тут речь вообще не про это

Eugene
11.01.2018
08:29:57

Александр
11.01.2018
08:30:48
Это же мемасик такой с дхх
Как Нургалиев разрешил

Eugene
11.01.2018
08:31:49
за всеми мемами не поспеешь

No
11.01.2018
08:35:59
За двумя мемами погонишься - ни с одного не кекнешь
Простите
Утро )

rekero
11.01.2018
08:46:49

Максим
11.01.2018
08:47:24
мономем

D
11.01.2018
08:53:36
Напомните как называется тул изображающий базу данных рельс проекта графическими зависимостями?

Максим
11.01.2018
08:54:29
erb

No
11.01.2018
08:54:38
erd

D
11.01.2018
08:54:38
erd?
?

Максим
11.01.2018
08:54:44
да, так