저는 데이터베이스 프로그래밍에 익숙하지 않으며 기본 CRUD 응용 프로그램을 사용하려고합니다. Cruddy!을 사용하여 데이터 사전을 읽고 각 테이블을 기반으로 양식을 만드는 매우 제한된 응용 프로그램이 있습니다.Perl MySQL Cruddy! 지원
여러 테이블에 광범위한 외래 키 항목이 있으므로 키가 참조하는 항목으로 각 외래 키 열을 표시하는 데 필요한 조인 작업을 앱에서 수행해야합니다. 크루디! 이 기능을 가지고 있다고 주장합니다 - 양식을 만들 때 CGI::AutoForm
을 사용합니다. 양식을 실행하려면 참조 테이블 ui_table_column
에 열 단위로 항목을 제공해야합니다.
모든 테이블과 관련 컬럼에 대한 SQL 문을 쓰는 대신 하나의 컬럼에 대한 프로세스를 올바르게 작성하려고합니다.
CONSTRAINT `fk_Holder_Sample1`
FOREIGN KEY (`sample_id`)
REFERENCES `sample` (`sample_id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
그리고 해당 폼 SQL 항목을 설정에서 내 시도 :이 테이블 내 DDL에서
INSERT INTO ui_table_column (
table_name, field_name, appear_order, heading, searchable, updatable, insertable, input_control_type, multi_insert_delimiter,
search_control_type, search_mult_select, use_data_dict, datatype, default_value, required, input_size, input_maxlength, brief_heading,
alt_mask_field, mask_table_name, mask_field_name, id_field_name, no_cache, radio_checkbox_cols, field_group, element_attrs, help_summary)
VALUES (
'SAMPLE', 'SAMPLE_ID', 10, 'ID', 'Y', 'N', 'N', 'TEXT', NULL,
'SELECT', 4, 'Y', NULL, NULL, NULL, NULL, NULL, NULL,
NULL, 'sample', 'name', 'sample_id', 'Y', NULL, NULL, NULL, NULL);
INSERT INTO ui_table_column (
table_name, field_name, appear_order, heading, searchable, updatable, insertable, input_control_type, multi_insert_delimiter,
search_control_type, search_mult_select, use_data_dict, datatype, default_value, required, input_size, input_maxlength, brief_heading,
alt_mask_field, mask_table_name, mask_field_name, id_field_name, no_cache, radio_checkbox_cols, field_group, element_attrs, help_summary)
VALUES (
'SAMPLE', 'SAMPLE_NAME', 20, 'Name', 'Y', 'Y', 'Y', 'TEXT', NULL,
'MATCH TEXT', NULL, 'Y', NULL, NULL, NULL, NULL, NULL, 'Name',
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
INSERT INTO ui_table_column (
table_name, field_name, appear_order, heading, searchable, updatable, insertable, input_control_type, multi_insert_delimiter,
search_control_type, search_mult_select, use_data_dict, datatype, default_value, required, input_size, input_maxlength, brief_heading,
alt_mask_field, mask_table_name, mask_field_name, id_field_name, no_cache, radio_checkbox_cols, field_group, element_attrs, help_summary)
VALUES (
'HOLDER', 'SAMPLE_ID', 30, 'sample', 'Y', 'Y', 'Y', 'SELECT', NULL,
'SELECT', 4, 'Y', NULL, NULL, NULL, NULL, NULL, 'Sample',
NULL, 'sample', 'NAME', 'SAMPLE_ID', 'Y', NULL, NULL, NULL, NULL);
내 앱 페이지를 (둘 다 그냥이 broswer 새로 고침 및 호출 새로 고침 할 때 apachectl
) 변경 사항은 없습니다. 즉, Holder 페이지의 필드로 Sample ID가 계속 표시됩니다.
누구나이 문제에 성공했거나 내가 잘못하고있는 것에 대해 조언 해 줄 수 있습니까?
EDIT : 침묵은이 특정 프레임 워크가 널리 사용되지 않았 음을 나타냅니다. 내 질문을 조금 열고 싶습니다. 어떤 솔루션을 사용했는지 묻고 싶습니다. 나는 실제로 Catalyst::Plugin::AutoCRUD을 실험하고있다.
의견을 보내 주셔서 감사합니다. 나는 당신의 대답을 받아 들였습니다. – learner