Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
1 / 1 / 0
Регистрация: 25.10.2016
Сообщений: 83
1

Realm migration что то не так :(

30.05.2017, 23:44. Показов 1004. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Ребят подскажите плз что делаю не так.

Добавил поле. Поставил сеттеры и геттеры.

В migration объявил, что нужно добавить поле в базу.
Вот так:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 if (oldVersion == 1 && newVersion == 2) {
 
            RealmObjectSchema ingredientSchema = schema.get("Ingredient");
 
            ingredientSchema
                    .addField("contentOfWater", float.class)
                    .transform(new RealmObjectSchema.Function() {
                        @Override
                        public void apply(DynamicRealmObject obj) {
                            obj.set("contentOfWater", 0);
                        }
                    });
            oldVersion++;
        }
приложенька крашится на строке, там где нужно установить всем нули (obj.set("contentOfWater", 0)
что мол нет такой буквы в этом слове.

" java.lang.IllegalArgumentException: Illegal Argument: ColumnType of 'contentOfWater' is invalid."

Что то может пропустил?

Заранее благодарю мудрейших
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.05.2017, 23:44
Ответы с готовыми решениями:

Сервер сообщает, что находится в режиме Realm
Добрый день. Сделал в SpringSecurity Basic аутентификацию. @Override protected void...

Что не так с кодом? ( пытаюсь понять, что не так? )
Есть исходный код. Hook, работает хорошо, но есть минус огромный - перестаёт писать в лог, при...

И так, что не так с моим запросом на добавление записи в таблицу?
$sql = 'INSERT INTO product ' . '(name, code, price, category_id, brand,...

Как сделать так что я мог умножать не на два числа а на 3,4,5 и так далее?
Вот код: #include <iostream> #include <conio.h> using namespace std; int main(){ float...

4
314 / 257 / 81
Регистрация: 31.10.2016
Сообщений: 619
31.05.2017, 11:16 2
asttoxa, у меня нет функции трансформации сразу же за миграцией. Может ее стоит убрать и посмотреть, какими значениями инициализируется это поле по умолчанию?

Добавлено через 3 минуты
или попробовать .addField("contentOfWater", float.class, FieldAttribute.REQUIRED)
0
1 / 1 / 0
Регистрация: 25.10.2016
Сообщений: 83
31.05.2017, 11:16  [ТС] 3
Ну посмотреть можно. Но я то взял за основу пример с офф сайта
вот тут https://github.com/realm/realm... ation.java
Точно так же указано одновременно и добавляет поле и вставляет значения.
Хотя есть разница, что в их примере поле, которое они добавляют, является REQUIRED. Может еще в этом дело.
0
314 / 257 / 81
Регистрация: 31.10.2016
Сообщений: 619
31.05.2017, 11:22 4
asttoxa, вы ведь все свои значения инициализируете. Значит вы хотите, чтоб это поле было всегда заполненным, так что скорей всего в модели нужно указать эту аннотацию и в схеме миграции.
1
1 / 1 / 0
Регистрация: 25.10.2016
Сообщений: 83
31.05.2017, 21:18  [ТС] 5
demixdn Логично. Попробую обязаловку влепить. Спс

PS А если не указываю значение и поле в базе создается, но остается пустым. При получении экземпляра из базы оно будет равно NULL??

Добавлено через 9 часов 54 минуты
Все что мы говорили ранее не работает.
Нашел методом тыка в чем косяк..
было так:
Java
1
obj.set("contentOfWater", 0);
а нужно так:
Java
1
obj.setFloat("contentOfWater", 0);
И для разных типов разные сеты... Может кому пригодится.
Только вот одно не вкурю, в офиц док. Ни слова о том, что функция установки зависит от типа. Они даже в примере String ставят обычным set()...
Всем спасибо. Вопрос закрыт.
0
31.05.2017, 21:18
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.05.2017, 21:18
Помогаю со студенческими работами здесь

Что в коде ни так? while не работает так, как ожидаю
Написанный код, как я думаю, должен выдавать цифры от 0 до 1000, столбиком. Но выдает начиная от...

сегодня так можно сказать праздник так что...
простите меня за все пожалуйста!!!

Realm of Racket
Realm of Racket Learn to Program, One Game at a Time! by Matthias Felleisen, David Van Horn,...

JSON to REALM
При кешировании данных возникла проблема переноса json в локальное хранилище Каким образом можно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru