
Alex
19.02.2017
20:13:06

Николай
19.02.2017
20:13:53
Я так то не застрял) оно где-то крутится рядом))

Alex
19.02.2017
20:13:55
благо, не знаю как вы, а я по записи учусь) Тормозить можно в людой момент(

Николай
19.02.2017
20:14:13
Поймать надо)

Google

Николай
19.02.2017
20:14:30

Alex
19.02.2017
20:14:36
да пока Рома объясняет, всё понятно. Но только немного в сторону и нет объяснения, то тут руки и выкручиваются)
А лепрозорий на Активрекорде получиося?
или пока не начинал?
у меня с details проблема

Николай
19.02.2017
20:16:04
Ну вот это ж оно и есть

Alex
19.02.2017
20:16:08
с добавлением комментариев

Николай
19.02.2017
20:16:17
Я ббшоп пилю
И его туда


Vitaliy
19.02.2017
20:16:30
и те данные, которые были внесены между минрациями?
да, смотрите как это происходит:
1. Таблицы нет
2. Миграцией создаем таблицу Пользователи с полем Имя
3. Ура, у нас есть таблица Пользователи, мы можем создать парочку и указать для них Имена!
4. Еще одной миграцией добавляем в таблицу Пользователи поле Фамилия
5. Ура, теперь мы можем указывать для пользователей не только Имя, но и Фамилию! Укажем для созданных ранее пользователей их фамилии, и создадим еще парочку новых с именами и фамилиями
6. Откатываем последнюю миграцию (в которой добавляли Фамилии к Пользователям)
7. О нет, в нашей таблице Пользователи больше нет поля Фамилия :(
8. Снова применяем последнюю миграцию
9. Ура, поле Фамилия снова есть! Только все фамилии, которые мы вводили - навсегда были утрачены на шаге 6 :( придется вводить заново
10. Снова откатываем последнюю миграцию
11. Снова поле Фамилия пропало :(
12. Откатываем еще одну миграцию (в которой создавали таблицу Пользователи с полем Имя)
13. О нет, теперь и поля Имя нет, и вообще всей таблицы Пользователи нет! :(


Alex
19.02.2017
20:17:31
:) понятно

Николай
19.02.2017
20:17:36
Шаг 4 подробнее

Google

Николай
19.02.2017
20:19:01
add_another_fields_to_ это метод? Или случайное имя?

Vitaliy
19.02.2017
20:19:31
да, миграцию удобно создать командой rails g migration blablabla

Николай
19.02.2017
20:19:39
И я так понял, ролбэк ничем не лучше удаления базы))

Vitaliy
19.02.2017
20:19:49
где blablabla - имя миграции, где-то произвольное, а где-то вполне конкретное

Николай
19.02.2017
20:19:59
Ну разве что одна таблица страдает
Но связанные с ней данные тоже остаются без значений
Толку ноль, получается)

Vitaliy
19.02.2017
20:21:13
если у вас весь проект состоит из одной таблицы - то толку не будет, верно :)

Николай
19.02.2017
20:21:25
Ну а если из 2?

Vitaliy
19.02.2017
20:21:33
а если сто таблиц - будет лучше конечно затронуть только одну, нежели стереть вообще всё

Николай
19.02.2017
20:21:54
И данные одной таблицы без данных из другой не имеют значения?)

Vitaliy
19.02.2017
20:22:17
конечно

Николай
19.02.2017
20:22:22
Лучше, конечно, всё предусмотреть) что не очень реально))

Vitaliy
19.02.2017
20:22:37
лучше вообще не делать rollback, никогда

Николай
19.02.2017
20:22:47
?

Vitaliy
19.02.2017
20:23:02
Хорошим тоном является принцип "Добавляй, но не меняй и не удаляй"
rollback можно сделать если последнюю миграцию вы только только создали, и буквально только что прогнали, и данных в базе еще нет

Alex
19.02.2017
20:23:42
может как вариант создать новую БД, с уже предусмотренными новыми полями и сделать импорт из старой? Написал и сам пока не понял как это)))

Vitaliy
19.02.2017
20:24:19

Google

Николай
19.02.2017
20:27:44
Допустим, создана миграция createClient
Там таблица clients

Vitaliy
19.02.2017
20:28:44
Хорошим тоном является принцип "Добавляй, но не меняй и не удаляй"
В гайдах и статьях для начинающих об этом, кстати, мало говорят. И возможно это и нормально. Потом уже, когда скапливается достаточный опыт, чтобы ориентироваться в рельсах - на уровне пре-миддл/миддл - можно задаваться такими вопросами как обеспечение целостности, идемпотентности, масштабируемости проекта - и тогда будет полезно изучать принцип "Только добавляй".

Николай
19.02.2017
20:29:19
Хде? Хде изучать?)

Vitaliy
19.02.2017
20:29:34
Хекслет, например
там много годноты
в их слак-чате в том числе

Николай
19.02.2017
20:29:59
Что написать в строке rake db: create_migration NAME=??

Vitaliy
19.02.2017
20:30:04
и здесь https://github.com/Hexlet/webinars/wiki

Николай
19.02.2017
20:30:44
О
Во це дило))

Николай
19.02.2017
20:31:10
Но все же
Николай:
Что написать в строке rake db: create_migration NAME=??

Vitaliy
19.02.2017
20:31:53
не совсем понимаю, что это за строка
в рельсах таких строк нет :)

Николай
19.02.2017
20:32:12
создание миграции

Vitaliy
19.02.2017
20:32:39

Николай
19.02.2017
20:32:45
В синатре вот есть)

Vitaliy
19.02.2017
20:33:11
создание миграции
создание миграции это rails g migration
прогон всех непрогнанных миграций это rake db:migrate

Google

Николай
19.02.2017
20:34:05
Ну если вызвать rake -T, то там будет и та срока, которую я написал
Во всяком случае, Роман так учит

Vitaliy
19.02.2017
20:34:26
rails g migration add_любые_слова_to_clients название_поля:тип_поля название_другого_поля:тип_другого_поля

Николай
19.02.2017
20:34:56
Возможно, это отличие рельсов от синатры... Хз

Vitaliy
19.02.2017
20:34:57
вот это создаст миграцию, которая при прогоне добавит в таблицу clients поля название_поля и название_другого_поля
аха, то есть у вас там не рельсы сейчас, а синатра?

Николай
19.02.2017
20:35:55
Ага

Alex
19.02.2017
20:36:04
чуть позже будут рельсы

Admin
ERROR: S client not available

Vitaliy
19.02.2017
20:36:27
Тогда, да, команды вроде rails g работать очевидно не будут. Тогда по синтаксису не смогу подсказать, не работал в синатре

Николай
19.02.2017
20:36:41
Слабак))

Alex
19.02.2017
20:37:24
?

Vitaliy
19.02.2017
20:37:33
а то, увяз тут в своей рельсе, а по сторонам не смотрит ?

Николай
19.02.2017
20:38:22
?
Да, тоже целый мир эти рельсы
Ладно, спасибо за инфу
Пошёл учиться дальше

Alex
19.02.2017
20:42:52
удачи)
осилишь, напиши или скинь готовую прогу

Evgeniy
20.02.2017
04:40:07
Флудилка рубичата 24/7

Google

Evgeniy
20.02.2017
04:40:48
Забегайте.

Ro
20.02.2017
04:52:07
блин
сорри, удалил случайно))
извиняй
напиши еще раз ссылку пожалуйста
@AlexEvgenikus
может еще кто захочет попиарить что-нибудь?

Tanya
20.02.2017
04:53:36
https://t.me/fldrubyschool вот ссылка, что Евгений скидывал

Ro
20.02.2017
04:53:41
пока еще есть несколько минут
о как, зато большой баннер :)

Tanya
20.02.2017
04:55:23
я незнаю как без него кинуть)

Evgeniy
20.02.2017
05:11:36
Главное не проспали.

spartakusQ
20.02.2017
05:12:43
Народ подскажите по коду.
http://paste2.org/k4mzfWWM
как правильно сделать ссылки на а и b

Vitaliy
20.02.2017
05:26:55
А кстати, с шести до восьми включительно? :)
А то у меня уже 8:26 - поезд ушел, да?

Aura
20.02.2017
05:29:41

Ro
20.02.2017
05:36:35
8:26 - да, жди четверга)

Vladimir
20.02.2017
05:39:54
http://paste2.org/k4mzfWWM
Вызывай всё из GameEngine. А в него передавай a и b из других классов. WinnerChoice можно вызывать с параметрами, либо в GameEngine сделать @@a @@b

spartakusQ
20.02.2017
07:20:48