+ ROR?
Пытаюсь сделать update поля в БД Oracle через rails console:
2.7.1 :023 > ab1 = Abonent.first
Abonent Load (2.1ms) SELECT * FROM (SELECT "REAL_IMP"."ABONENTS".* FROM "REAL_IMP"."ABONENTS" ORDER..........
2.7.1 :024 > ab1.abonent_number = 111
2.7.1 :026 > ab1
=> #<Abonent abonent_id: 1, abonent_line_id: 1, abonent_number: "111", ...
2.7.1 :025 > ab1.save!
Abonent Update (18.4ms) UPDATE "REAL_IMP"."ABONENTS" SET "ABONENT_NUMBER" = :a1 WHERE "REAL_IMP"."ABONENTS"."ABONENT_ID" IS NULL [["abonent_number", "111"]]
=> true
В итоге поле "abonent_number" принимает значение 111 у "REAL_IMP"."ABONENTS"."ABONENT_ID" IS NULL т.е. у НИКАКОГО абонента.
А в чем проблема собственно
дописал основной пост. Проблема в том, что в самой базе данных значение поля "abonent_number" не меняется.
выглядит валидно. вангую, что действительно первая запись в Abonent содержит "ABONENT_ID" равное NULL
На 26 строке вроде видно что не нул
2.7.1 :027 > ab1 = Abonent.first Abonent Load (17.8ms) SELECT * FROM (SELECT "REAL_IMP"."ABONENTS".* FROM "REAL_IMP"."ABONENTS" ORDER BY "REAL_IMP"."ABONENTS"."ABONENT_ID" ASC ) WHERE ROWNUM <= :a1 [["LIMIT", 1]] 2.7.1 :028 > ab1 => #<Abonent abonent_id: 1, abonent_line_id: 1, abonent_number: nil, abonent_type: "33", abonent_dopinfo: nil, abonent_fio: "Familiya", abonent_address: "?. ??????????", abonent_dateinstall: "2002-01-05 00:00:00", abonent_causeinstall: "?????? ??????!", abonent_causeinstall_id: 0, abonent_status: "???????", abonent_causestatus_id: 0, abonent_changestatusdate: "2005-12-01 00:00:00", abonent_facilities: "?????? ??????", abonent_addition: nil, position: nil, city: nil, street: nil, house: nil, flat: nil> 2.7.1 :029 >
а ещё кавычки, точка с запятой и прочее при использовании exec... адище в общем там :) Оно, конечно, решаемо, но времени просрёшь дофига.
Тысяча благодарностей!!! Ты оказался прав! Проблема была в БОЛЬШИХ/маленьких названиях!!!
Обсуждают сегодня