Skip to content

Commit

Permalink
use char as a primary key
Browse files Browse the repository at this point in the history
  • Loading branch information
tony committed Jun 5, 2017
1 parent 357a5ad commit 621c25e
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 9 deletions.
4 changes: 2 additions & 2 deletions tests/test_bootstrap.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,10 @@ def test_import_unihan_raw(zip_file, session, engine, unihan_options):

assert session.query(Unhn).count() == len(data)

assert session.query(Unhn).filter_by(char=u'㐀').one().ucn == 'U+3400'
assert session.query(Unhn).get(u'㐀').ucn == 'U+3400'

for char in data:
c = session.query(Unhn).filter_by(ucn=char['ucn']).one()
c = session.query(Unhn).get(char['char'])

importer.import_char(c, char)

Expand Down
13 changes: 6 additions & 7 deletions unihan_db/tables.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,8 @@

class Unhn(Base):
__tablename__ = 'Unhn'
id = Column(Integer, primary_key=True)
ucn = Column(String(8))
char = Column(String(1))
char = Column(String(1), primary_key=True)
type = Column(String(24))

kDefinition = relationship("kDefinition", back_populates="char")
Expand All @@ -51,7 +50,7 @@ class Unhn(Base):
class kDefinition(Base):
__tablename__ = 'kDefinition'
id = Column(Integer, primary_key=True)
char_id = Column(Integer, ForeignKey('Unhn.id'))
char_id = Column(String(1), ForeignKey('Unhn.char'))
definition = Column(String(128))

char = relationship("Unhn")
Expand All @@ -60,7 +59,7 @@ class kDefinition(Base):
class kCantonese(Base):
__tablename__ = 'kCantonese'
id = Column(Integer, primary_key=True)
char_id = Column(Integer, ForeignKey('Unhn.id'))
char_id = Column(String(1), ForeignKey('Unhn.char'))
definition = Column(String(128))

char = relationship("Unhn")
Expand All @@ -69,7 +68,7 @@ class kCantonese(Base):
class kMandarin(Base):
__tablename__ = 'kMandarin'
id = Column(Integer, primary_key=True)
char_id = Column(Integer, ForeignKey('Unhn.id'))
char_id = Column(String(1), ForeignKey('Unhn.char'))
hans = Column(String(10))
hant = Column(String(10))

Expand All @@ -79,7 +78,7 @@ class kMandarin(Base):
class GenericReading(Base):
__tablename__ = 'GenericReading'
id = Column(Integer, primary_key=True)
char_id = Column(Integer, ForeignKey('Unhn.id'))
char_id = Column(String(1), ForeignKey('Unhn.char'))
type = Column(String(50))
locations = relationship("UnhnLocation")
readings = relationship("UnhnReading")
Expand All @@ -103,7 +102,7 @@ class kHanyuPinyin(GenericReading):
class GenericIndice(Base):
__tablename__ = 'GenericIndice'
id = Column(Integer, primary_key=True)
char_id = Column(Integer, ForeignKey('Unhn.id'))
char_id = Column(String(1), ForeignKey('Unhn.char'))
type = Column(String(50))
locations = relationship("UnhnLocation")

Expand Down

0 comments on commit 621c25e

Please sign in to comment.