XE에서는 DB질의시 대상이 되는 테이블의 스키마 정보를 항상 참조합니다. 따라서 XE에서는 스키마 정보가 등록되지 않은 테이블은 사용될 수 없습니다. 질문쟁이 2016.06.11 09:20 408 0 10 라고 확인했는데, 사전에 등록되어있지 않으면 쓸수 없는건가요. Schema에 table.xml이 있는데 거길 더 추가하면 더 저장할수는 없는건가요?
관리자화면 "시스템 설정" 클릭시 오류 발생 후 해결. Attempt to assign property "site_srl" on array" in modules/module/module.model.php on line 157 hatali 25.12.26 0 3
댓글 10
modules/모듈명/schemas 폴더 안에 테이블마다 하나씩 xml 파일을 만들어 넣으시면 됩니다. 파일을 만들어 넣고 나서 관리자 화면에 들어가면 테이블을 생성하라는 단추가 뜰 거예요. 그걸 클릭하면 앞으로 해당 테이블을 자유롭게 사용하실 수 있습니다. (공홈 자료실에서 모듈을 다운받아 설치하면 이 과정이 모두 자동으로 이루어집니다.)
이 말이 이해가 잘 안갑니다. xml만 만들라고 하는건지, 아니면 안에 테이블마다 column을 하나씩 다 넣어야된다는건가요..?
이런 식으로 만들면 됩니다.
getContent, getContentText 등의 함수는 이름 그대로 "get"(데이터를 불러오는 함수)이기 때문에 DB에 뭔가를 저장하는 것과는 아주 거리가 멉니다.
queries를 만지니까 이렇게 떠버리네요 흠..
실제 DB에 컬럼이 없다면 계속 에러날 거예요. 위에서 말씀드린 것처럼 xml 파일을 아예 새로 만들면 XE에서 자동으로 인식하고 테이블을 만들어 주지만, 컬럼만 추가하려면 수동으로 해야 하거든요.
사실, DB에 접속해서 쿼리 날려주면 테이블 정보를 알 수 있긴 한데, 각 DBMS마다 지원여부가 다르고, 매 번 쿼리를 날리는 것도 비효율적이기 때문에 하지 않는 것이죠.