<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[TNF : Tatter Network Foundation forum - DB Schema Manager]]></title>
	<link rel="self" href="http://forum.tattersite.com/ko/extern.php?action=feed&amp;tid=3515&amp;type=atom"/>
	<updated>2007-08-06T09:09:40Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.tattersite.com/ko/viewtopic.php?id=3515</id>
		<entry>
			<title type="html"><![CDATA[DB Schema Manager]]></title>
			<link rel="alternate" href="http://forum.tattersite.com/ko/viewtopic.php?pid=19684#p19684"/>
			<content type="html"><![CDATA[<p><a href="http://forum.tattersite.com/ko/viewtopic.php?id=3483">이 글</a>과 <a href="http://dev.textcube.org/changeset/3858">그 해결책</a>을 보고 떠오른 생각입니다.</p><p>테이블 개수를 일일이 확인하는 것 자체가 그다지 좋은 방식은 아닌 것 같군요. 누가 임의로 DB 구조를 추가/변경했을 경우 잠재적 버그가 발생하는 셈입니다.</p><p>따라서 DB 자체를 추상화하고 있듯 DB Schema를 관리해주는 녀석이 하나 있다면 좋지 않을까 합니다.</p><p>새로운 스키마를 정의하려면 그 Schema 클래스를 이용해서 선언하고, Schema 클래스는 static처럼 작동하면서 현재 필요한 테이블들의 개수를 구해준다든가, 가능하다면 버전 관리까지 겸해준다면 좋겠지요.<br />Schema를 변경할 일이 있다면 그 Schema 클래스만 고치면 알아서 해결되도록 일원화하자는 것이죠. DB Query의 추상화와 함께 진정 DBMS 선택이 자유로워지려면 Schema 또한 그래야 하지 않나 싶습니다.<br />(이걸 이용해서 플러그인들이 DB를 편하게 접근할 수 있도록 하는 wrapper를 만들 수도 있겠구요.)</p><p>구체적인 구조는 좀더 생각을 해봐야겠지만 DB 추상화가 어느 정도 완료되고 나면 추진해봄직하다는 생각이 들어서 써봤습니다. <img src="http://forum.tattersite.com/ko/img/smilies/smile.png" width="15" height="15" alt="smile" /></p><p>ps. 개인적으로는 Django의 DB Model이 맘에 드는 편입니다만 php에서도 lazy evaulation이 되던가요?</p>]]></content>
			<author>
				<name><![CDATA[daybreaker]]></name>
				<uri>http://forum.tattersite.com/ko/profile.php?id=11</uri>
			</author>
			<updated>2007-08-06T09:09:40Z</updated>
			<id>http://forum.tattersite.com/ko/viewtopic.php?pid=19684#p19684</id>
		</entry>
</feed>
