Open dewid1985 opened 9 years ago
Мета странная. А чего там в AutoPlatformLogsAdminAuthLogs ?
вот такое не проходит:
<class name="LogsAdminAuthLogs" table="logs.admin_auth_logs" >
Алексей тогда как быть если всегда проходило а сейчас не проходит
До этого на пред идущей работе все прекрасно работало жалоб не было )))
@dewid1985 я так понимаю logs - это другая база?
нет это одна база но другая схема
SQL высше
PlatformLogsAdminAuthLogs::dao()->getById(4); работает без нареканий
фреймворк с разными схемами работать не обучен
@dewid1985 не очень давно кто-то квотинг чинил, надо посмотреть вливали или нет, если вливали, то попробовать откатиться
Ребята все работало на ура, поверте мне на пред идущей работе все работает.
Это чинили на MyDialect по моей просьбе.
понедельник, 15 декабря 2014 г. пользователь Igor V. Gulyaev написал:
@dewid1985 https://github.com/dewid1985 не очень давно кто-то квотинг чинил, надо посмотреть вливали или нет, если вливали, то попробовать откатиться
— Reply to this email directly or view it on GitHub https://github.com/onPHP/onphp-framework/issues/228#issuecomment-66988108 .
@dewid1985 ну и @AlexeyDsov говорит правду да, не понятно как оно раньше работало.
На прошлой работе использовали этот репозиторий или был свой форк?
@dewid1985 ради заботы о будущих поколениях избегай жаргона типа "скульчик" и переименуй пожалуйста заголовок этого ишью. Думай о тех, кто это будет гуглить.
Прогона тесты значит для начала целиком. От версии пыха может зависеть
понедельник, 15 декабря 2014 г. пользователь Dewid написал:
Ребята все работало на ура, поверте мне на пред идущей работе все работает.
— Reply to this email directly or view it on GitHub https://github.com/onPHP/onphp-framework/issues/228#issuecomment-66988238 .
Нет использовали этот репозиторий.
версия 5.6
Тесты дефолтные отрабатывают все без ошибок?
понедельник, 15 декабря 2014 г. пользователь Dewid написал:
версия 5.6
— Reply to this email directly or view it on GitHub https://github.com/onPHP/onphp-framework/issues/228#issuecomment-66988648 .
в дефолтных тестах нет использования другой схемы.
ради интереса в мете замените строчку
<class name="LogsAdminAuthLogs" table="logs.admin_auth_logs" >
на
<class name="LogsAdminAuthLogs" table="logs"."admin_auth_logs" >
в данном случае ругается на sequence
public function getTable()
{
return 'logs"."admin_auth_logs';
}
я уже переопределял ручками тогда перестовал работать getById()
<metaconfiguration><classes><class name="CRMLocationsLocationClassifierStrata" table="locations.location_classifier_strata"><properties><identifier name="id"/><property name="country" column="country_id" type="CRMLocationsLocationClassifierCountry" relation="OneToOne" fetch="lazy" required="true"/><property name="name" type="String" required="true"/></properties><pattern name="StraightMapping"/></class></classes></metaconfiguration>
это мета с пред идущей работы
все работает без проблем
Это было лишь предположение - как можно попробовать обмануть эскейпинг таблицы. Ни один из диалектов не умеет в мастере эскейпить имена со схемами. См. метод Dialect::quoteTable - просто обрамление в соотвествующие кавычки всего названия.
@dewid1985 от нас-то ты что хочешь?
Вот это PlatformLogsAdminAuthLogs::dao()->getById(3)
понятно что ошибочка и что такой записи нет но все же он обрамляет в данном случает а в пред идущем не обрамляет
Вот этот вот SQL - запрос Uncaught [there is no such object for 'PlatformLogsAdminAuthLogs' with query == SELECT "logs"."admin_auth_logs"."id", "logs"."admin_auth_logs"."system_user", "logs"."admin_auth_logs"."admin_id", "logs"."admin_auth_logs"."entry_at", "logs"."admin_auth_logs"."login", "logs"."admin_auth_logs"."password", "logs"."admin_auth_logs"."ip", "logs"."admin_auth_logs"."captcha", "logs"."admin_auth_logs"."blocked_ip", "logs"."admin_auth_logs"."date_blocking_ip", "logs"."admin_auth_logs"."black_ip_list_id" FROM "logs"."admin_auth_logs" WHERE ("logs"."admin_auth_logs"."id" = '3')]
Подскажите куда ковырнуть ковырну допишу плиз, знаю что работает видал собственными глазами и сам делал много раз так но тут как то не гладко пошло.
Теоретически достаточно исправить в Dialect метод quoteTable что на что-то вроде
return implode(
'.',
array_map(
function($tablePart) { return '"'.$tablePart.'"'; },
explode('.', $table)
)
);
Вот тока сходу не предположу насколько это суровый хак выходит и возможны ли где-то в других местах кода ошибки связанные с этим
Алексей огромное спасибки помогло, будут баги связанные с текущем хаком обязательно информирую.
Не будет багов - с вас Pull request. Пожалуй это лучший способ добавить работу со схемоами для Postgresql.
Огромное спасибо за мной не заржавеет Pull request. Но для начала поюзаю. Что бы сразу не накосячить ))))
Хочу помочь Вам с документацией но скорее после нового года. Еще не заюзал веточку NS
Тут такое дело. конфиг соеденинения 'connector' => 'PgSQL', 'host' => '192.168.5.58', 'bases' => 'test', 'user' => 'test', 'pass' => ''
устанавливаю параметры через setDefault()
это SQL CREATE SCHEMA logs;
-- object: logs.admin_auth_logs | type: TABLE -- -- DROP TABLE logs.admin_auth_logs; CREATE TABLE logs.admin_auth_logs( id serial, system_user boolean, admin_id integer, entry_at timestamptz, login varchar(64), password varchar(256), ip varchar(15), captcha varchar(16), blocked_ip boolean, date_blocking_ip timestamptz, black_ip_list_id integer, CONSTRAINT pk__admin_auth_logs PRIMARY KEY (id)
); -- ddl-end -- -- NOTE: below all the code for some key referrer objects are attached -- as a convinience in order to permit you to test the whole object's -- SQL definition at once. When exporting or generating the SQL for -- the whole database model all objects will be placed at their -- original positions.
-- object: fkadmin_id | type: CONSTRAINT -- -- ALTER TABLE logs.admin_auth_logs DROP CONSTRAINT fk__admin_id; ALTER TABLE logs.admin_auth_logs ADD CONSTRAINT fkadmin_id FOREIGN KEY (admin_id) REFERENCES users.admin (id) MATCH FULL ON DELETE NO ACTION ON UPDATE NO ACTION; -- ddl-end --
-- object: fkblack_ip_list_id | type: CONSTRAINT -- -- ALTER TABLE logs.admin_auth_logs DROP CONSTRAINT fk__black_ip_list_id; ALTER TABLE logs.admin_auth_logs ADD CONSTRAINT fkblack_ip_list_id FOREIGN KEY (black_ip_list_id) REFERENCES users.black_ip_list (id) MATCH FULL ON DELETE NO ACTION ON UPDATE NO ACTION; -- ddl-end --
ЭТО МЕТА
После генерации делаю что то подобное
Получаю следующие.
преобразования 'logs.admin_auth_logs' -> "logs"."admin_auth_logs" не делает, делает я как понимаю PostgresDialect он у меня работает либо не правильно либо я сам что то не так делаю. Подскажите плиз.