Size: a a a

2020 February 13

AP

Anton Petrusevich in Modern::Perl
Why do you want Perl to release the memory to the OS? You could just use a larger swap.

лол
источник

VG

Vadim Goncharov in Modern::Perl
ну это слишком универсальный совет
источник

VG

Vadim Goncharov in Modern::Perl
перл тут ни при чем
источник

c

crux in Modern::Perl
Пипл, вопрос про DBIC и/или Catalyst.

Дано: БД, в которой в таблицах все поля с префиксом с именем таблицы. Например,

students:
 student_id
 student_name
 
И есть спека OpenAPI, в которой на выходе должно быть

students:
 id
 name

Прикручено это всё через  Catalyst::Controller::DBIC::API::REST

Внимание, вопрос: есть какой-нибудь адекватный способ выпилить эти префиксы из выхлопа? Например, сделать дефолтные AS в ResultSet или ещё как.

Я пока нарыл только each_object_inflate, в котором придётся бегать по результату, но мне не нравится и чувствую, что костыль.

Может, кто с DBIC живёт плотно - подскажет.
источник

B

BSV in Modern::Perl
crux
Пипл, вопрос про DBIC и/или Catalyst.

Дано: БД, в которой в таблицах все поля с префиксом с именем таблицы. Например,

students:
 student_id
 student_name
 
И есть спека OpenAPI, в которой на выходе должно быть

students:
 id
 name

Прикручено это всё через  Catalyst::Controller::DBIC::API::REST

Внимание, вопрос: есть какой-нибудь адекватный способ выпилить эти префиксы из выхлопа? Например, сделать дефолтные AS в ResultSet или ещё как.

Я пока нарыл только each_object_inflate, в котором придётся бегать по результату, но мне не нравится и чувствую, что костыль.

Может, кто с DBIC живёт плотно - подскажет.
https://metacpan.org/pod/DBIx::Class::ResultSource#accessor
может через это можно как то вывернуться?
источник

c

crux in Modern::Perl
Через это меняются имена аксессоров, но не меняются имена полей на выходе, проверяли (
источник

c

crux in Modern::Perl
В схеме генерируется

__PACKAGE__->add_columns(

...
 "student_name",
 {
   accessor      => "name",
...
 },

Но в структуре остаётся student_name
источник

AP

Anton Petrusevich in Modern::Perl
так дело, видимо, в :API::REST ?
источник

AP

Anton Petrusevich in Modern::Perl
т.е. смотреть надо не на то как поменять дбик, а на апи-рест, откуда он берёт названия
источник

c

crux in Modern::Perl
Ну вот не факт, get_columns ResultSet тоже вернёт student_name
источник

AP

Anton Petrusevich in Modern::Perl
а, ну, да...
источник

SU

Someone Unknown 🇭🇷 in Modern::Perl
crux
Пипл, вопрос про DBIC и/или Catalyst.

Дано: БД, в которой в таблицах все поля с префиксом с именем таблицы. Например,

students:
 student_id
 student_name
 
И есть спека OpenAPI, в которой на выходе должно быть

students:
 id
 name

Прикручено это всё через  Catalyst::Controller::DBIC::API::REST

Внимание, вопрос: есть какой-нибудь адекватный способ выпилить эти префиксы из выхлопа? Например, сделать дефолтные AS в ResultSet или ещё как.

Я пока нарыл только each_object_inflate, в котором придётся бегать по результату, но мне не нравится и чувствую, что костыль.

Может, кто с DBIC живёт плотно - подскажет.
Я бы просто психанул и насоздавал в базе вьюх с нормальными именами
источник

c

crux in Modern::Perl
Someone Unknown 🇭🇷
Я бы просто психанул и насоздавал в базе вьюх с нормальными именами
Подобная мысль тоже была, но это ещё бОльший костыль, при добавлении поля надо помнить о том, что его надо во вьюху, сказать об этом всем ну и вообще ))
источник

AB

Alex Bush in Modern::Perl
Или взять DBIx::Custom, да @Casus_Improvisus? ;-)
источник

ММ

Максим Максимов in Modern::Perl
crux
Подобная мысль тоже была, но это ещё бОльший костыль, при добавлении поля надо помнить о том, что его надо во вьюху, сказать об этом всем ну и вообще ))
c вьюхами потом намучаешься, если только не materialized view делать
источник

ММ

Максим Максимов in Modern::Perl
Зачем тебе префиксы отрезать?
источник

ММ

Максим Максимов in Modern::Perl
Можно просто тупо базу перелопатить и сложить нормально
источник

c

crux in Modern::Perl
Базу уже нельзя перелопатить, приложение давно распухшее и даже грепнуть не вариант, потому что могут быть динамические доставания значений и т.д.
источник

c

crux in Modern::Perl
Ну и вообще к этой базе цепляется дофига всякого.
источник

SU

Someone Unknown 🇭🇷 in Modern::Perl
crux
Подобная мысль тоже была, но это ещё бОльший костыль, при добавлении поля надо помнить о том, что его надо во вьюху, сказать об этом всем ну и вообще ))
Есть мысль сделать это посредством версификации и renamed_from, не уверен, что поможет, и вряд ли это можно назвать целевым использованием, но вдруг

https://metacpan.org/pod/DBIx::Class::Schema::Versioned::Inline#renamed_from
источник