
ojab
07.02.2017
05:43:43
большие логи луче в gist кидать

v
07.02.2017
05:44:27


Victor
07.02.2017
05:44:49
ofc
а, разобрался, там вот что
constraints subdomain: ['www', ''] do

Google

Victor
07.02.2017
05:52:43
локально и в проде сабдомена нет, на стейдже есть

Michael
07.02.2017
07:20:18
доброе утро, ребята подскажите пожалуйста,
есть таблица, у нее есть некоторые поля с значениями, и есть булево поле.
у самой модели есть бефо сейв фильтр в котором обнуляются значение если булево поле false
возможно ли как-то сделать, что бы при обновлении булевого поля через Model.update_all(foo: false)
значения тоже обнулсялись?
или в таком случае нужно отказываться от update_all ?

Andrey
07.02.2017
07:22:03
а не вариант все поля обернуть в геттеры, которые будут возвращать нулевые значения if foo?
а то записи постоянно теребонькать как-то не очень

Michael
07.02.2017
07:25:35
да и по сути foo: false это финиш, после него объект уже не будет обновляться
или я Вас не так понял?

Ivan
07.02.2017
07:27:08
а если с update_all все остальные поля тоже обнулять?

Andrey
07.02.2017
07:27:22

Alex
07.02.2017
07:27:29
в какой ситуации тебе вообще нужен Model.update_all(foo: false)?

Michael
07.02.2017
07:27:49

Alex
07.02.2017
07:27:56
Такие вещи вообще стоит юзать в исключительных ситуациях. Они не прогоняют ни валидации ни хуки

Google

Andrey
07.02.2017
07:29:43
допустим, есть поле bar в базе
и ты пишешь
def bar
if foo
nil
else
bar
end

Alex
07.02.2017
07:30:45
я бы сначала разобрался зачем нужен update_all
убивать данные это жесть.

Michael
07.02.2017
07:30:56

Alex
07.02.2017
07:31:48
а ты говорил что то про запросы SQL? такого условия ты не высказывал. Зачем тебе update_all?
не лучше ли юзать bulk update?
там и валидации прогоняться будут, хуки - хз.

Michael
07.02.2017
07:33:24

Alex
07.02.2017
07:33:42
впринципе можно через bulk update делать
и разбить на куски.
И все внутри транзакции.
active record import гем смотри.
там для mysql точно есть insert on duplicate key update, для постгреса не смотрел.

Michael
07.02.2017
07:37:12
окей, спасибо.

Alex
07.02.2017
07:39:29
Я надеюсь ты 40к рейсов в фоне обновляешь.

Michael
07.02.2017
07:41:05
ну а как по другому то ))
еще и тесты, на это дело есть)))
?

Антон
07.02.2017
09:11:43

Google

Антон
07.02.2017
09:13:09
чота такое
но на 40к штуках может сильно напрячь базу

Michael
07.02.2017
09:19:09
ясно, спасибо

Karina
07.02.2017
11:00:31
ребят, привет. я опять со своим деплоем, - вот щас руки добрались и его делаю. установила nginx на сервере, создала пользователя. вот щас на локале мучу с capistrano. Добралась до deploy.rb и вижу вот что:
namespace :git do
desc 'Deploy'
task :deploy do
ask(:message, "Commit message?")
run_locally do
execute "git add -A"
execute "git commit -m '#{fetch(:message)}'"
execute "git push"
end
end
И ето таск деплоя??? Непонятно! деплой должен делать fetch или pull - что-то скачивать с гита, но никак не пушить!
пользуюсь вот этим мануалом https://habrahabr.ru/post/213269/
я-то хочу на сервере ввести команду deploy и чтоб он скачал с моего репозитория и что надо потом сделал

Vasiliy
07.02.2017
11:03:36
зачем ты вообще это делаешь? там капистрано рельс сам всё делает
таски не нужны

Karina
07.02.2017
11:04:03
мануал говорит так делать

Vasiliy
07.02.2017
11:04:22
а документация что говорит? ?

Karina
07.02.2017
11:05:15
ладно, щас пошуршу лучше документацию тогда

Vasiliy
07.02.2017
11:05:20
вот мой файл деплоя
https://github.com/stiig/strnewster/blob/master/config/deploy.rb
вот Capfile, всё деплоется ок
https://github.com/stiig/strnewster/blob/master/Capfile

Karina
07.02.2017
11:06:11
во, я эти файлы заполнила уже

Vasiliy
07.02.2017
11:06:18
и.. всё)

Karina
07.02.2017
11:06:28
а какую команду надо ввести, чтоб задеплоилось?

Vasiliy
07.02.2017
11:06:45
только советую capistrano-puma с jungle не использовать, а сделать через systemd
cap production deploy

Karina
07.02.2017
11:07:11
ок, спасибо
щас буду пробовать

Vasiliy
07.02.2017
11:07:28
можешь сначала cap production deploy —dry-run чтобы посмотреть что будет

Google

trickster
07.02.2017
11:08:32
гаес
в page.body
<a data-walk-me-through=\"<p>New Content!</p>\n\">▷ Walk me through</a>
почему сlick_link "▷ Walk me through"
может не прокать в капибаре?

ojab
07.02.2017
11:14:18
потому что кодировка не utf-8?

trickster
07.02.2017
11:17:19
а можно зафорсить как-то?

Admin
ERROR: S client not available

ojab
07.02.2017
11:21:13
https://ruby-doc.org/core-2.4.0/Encoding.html#class-Encoding-label-Script+encoding

Karina
07.02.2017
11:33:41
сделала cap production deploy и ничего ?

trickster
07.02.2017
11:37:45

ojab
07.02.2017
11:42:19
из byebug'a линк нажимается? На странице он точно есть (селектором по тексту выбирается)?

Karina
07.02.2017
11:43:37

ojab
07.02.2017
11:44:18
В config/deploy/production.rb сервер вписала?

Karina
07.02.2017
11:45:26

trickster
07.02.2017
12:04:26
без href
:)

Karina
07.02.2017
12:17:12
пишет мне ошибку cap production deploy - Net::SSH::AuthenticationFailed Authentication failed for user deploy@ip . Но это у меня что-то с ключами
server "ip",
user: "deploy",
roles: %w{web app db},
ssh_options: {
user: "deploy", # overrides user setting above
keys: %w(~/.ssh/id_rsa), //это ключи на локальной машине или где?
forward_agent: false,
auth_methods: %w(publickey password),
password: "pass"
}
что еще можно придумать ?

Google

Vasiliy
07.02.2017
12:19:46
ssh_options ни нужно

ojab
07.02.2017
12:19:54
ssh_options удаляй, после этого пробуй ручками залогиниться в ssh deploy@ip

Vasiliy
07.02.2017
12:20:13
ну

ojab
07.02.2017
12:20:22
если не логинится — чини ssh, capistrano тут не при чём

Vasiliy
07.02.2017
12:20:55
у тебя deploy юзер вообще есть на удалённой машине? У него твой ключ в authorized_keys есть?

Karina
07.02.2017
12:22:41

Vasiliy
07.02.2017
12:23:13
да) бывает такое) руту даёшь ключ, а про деплой забываешь

Karina
07.02.2017
12:23:52
да я не забыла, я и не знаю - какие ключи. Щас буду гуглить

Vasiliy
07.02.2017
12:25:13
у тебя есть в .ssh/id_rsa.pub его добавь прям

Скалли
07.02.2017
12:25:32
всем привет
а где можно почитать про связи моделей, когда DB сделана не в rails_way?
ну т.е. к примеру имеем две таблицы GEO и PLACES.
GEO может иметь несколько PLACES, в таблице PLACES есть поле ID_GEO

Karina
07.02.2017
12:26:04

Andrey
07.02.2017
12:26:35

Alex
07.02.2017
12:26:40

Andrey
07.02.2017
12:26:44
на rails guides больше

Alex
07.02.2017
12:26:46
там есть всякие foreign_key, и т.д

Vasiliy
07.02.2017
12:27:19
прям да - cat .ssh/id_rsa.pub копирнуть и вставить в /home/deploy/.ssh/authorized_keys на удаленной машине (могу опечататься в authorized)

ojab
07.02.2017
12:29:00
и не забыть сделать дирекотории права 0700, и файлу 0600

Vasiliy
07.02.2017
12:30:58
ну вообще если сервак поиграться то можно и забыть)

ojab
07.02.2017
12:32:40
нельзя, sshd проверяет права