Created
April 14, 2017 15:27
-
-
Save NathanLawrence/a7e746458604d60c4ee91ecad959c421 to your computer and use it in GitHub Desktop.
Access Missouri Existing DB Models (PeeWee)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from peewee import * | |
database = PostgresqlDatabase('accessmo', **{'host': '*************', | |
'password': '**********', 'user': '************', 'port': 5432}) | |
# Initialize Deferred Relationships | |
DeferredSession = DeferredRelation() | |
DeferredLegislator = DeferredRelation() | |
DeferredLegislatorTwo = DeferredRelation() | |
DeferredMecCommittee = DeferredRelation() | |
DeferredLegForMec = DeferredRelation() | |
DeferredDistrict = DeferredRelation() | |
class UnknownField(object): | |
def __init__(self, **kwargs): | |
pass | |
class BaseModel(Model): | |
class Meta: | |
database = database | |
class Actor(BaseModel): | |
name = TextField(null=True) | |
class Meta: | |
db_table = 'actors' | |
schema = 'bills' | |
class BillDocument(BaseModel): | |
bill = IntegerField(db_column='bill_id', null=True) | |
mimetype = TextField(null=True) | |
name = TextField(null=True) | |
os_doc = TextField(db_column='os_doc_id', null=True) | |
url = TextField(null=True) | |
class Meta: | |
db_table = 'bill_documents' | |
schema = 'bills' | |
class BillSponsorTypes(BaseModel): | |
code = CharField(null=True) | |
name = TextField(null=True) | |
class Meta: | |
db_table = 'bill_sponsor_types' | |
schema = 'bills' | |
class BillSponsor(BaseModel): | |
bill = IntegerField(db_column='bill_id', null=True) | |
legislator = ForeignKeyField(db_column='legislator_id', rel_model=DeferredLegislator, index=True, null=True) | |
sponsor_type = IntegerField(db_column='sponsor_type_id', null=True) | |
class Meta: | |
db_table = 'bill_sponsors' | |
schema = 'bills' | |
class BillSubject(BaseModel): | |
bill = IntegerField(db_column='bill_id', index=True, null=True) | |
subject = IntegerField(db_column='subject_id', index=True, null=True) | |
class Meta: | |
db_table = 'bill_subjects' | |
schema = 'bills' | |
class BillType(BaseModel): | |
chamber = IntegerField(db_column='chamber_id', null=True) | |
code = TextField(null=True) | |
name = TextField(null=True) | |
class Meta: | |
db_table = 'bill_types' | |
schema = 'bills' | |
class BillVersion(BaseModel): | |
bill = IntegerField(db_column='bill_id', null=True) | |
document = IntegerField(db_column='document_id', null=True) | |
name = TextField(null=True) | |
class Meta: | |
db_table = 'bill_versions' | |
schema = 'bills' | |
class Bill(BaseModel): | |
bill_no = IntegerField(null=True) | |
chamber = IntegerField(db_column='chamber_id', index=True, null=True) | |
created_at = DateTimeField(null=True) | |
effective_date_description = TextField(null=True) | |
first_date = DateField(null=True) | |
is_key_bill = IntegerField(null=True) | |
last_date = DateField(null=True) | |
name = TextField(index=True, null=True) | |
os_bill_type = IntegerField(db_column='os_bill_type_id', null=True) | |
os = TextField(db_column='os_id', null=True) | |
passed_lower_date = DateField(null=True) | |
passed_upper_date = DateField(null=True) | |
session = ForeignKeyField(db_column='session_id', rel_model=DeferredSession, index=True, null=True) | |
signed_date = DateField(null=True) | |
source = IntegerField(db_column='source_id', null=True) | |
state_lr_no = TextField(null=True) | |
title = TextField(null=True) | |
type = IntegerField(db_column='type_id', null=True) | |
updated_at = DateTimeField(null=True) | |
class Meta: | |
db_table = 'bills' | |
schema = 'bills' | |
class Journals(BaseModel): | |
chamber = IntegerField(db_column='chamber_id', null=True) | |
date = DateField(null=True) | |
journal_number = IntegerField(null=True) | |
name = TextField(null=True) | |
url = TextField(null=True) | |
class Meta: | |
db_table = 'journals' | |
schema = 'bills' | |
class Vote(BaseModel): | |
absent_count = IntegerField(null=True) | |
absent_leave_count = IntegerField(null=True) | |
bill = ForeignKeyField(db_column='bill_id', null=True, rel_model=Bill, to_field='id') | |
chamber = IntegerField(db_column='chamber_id', null=True) | |
is_passed = IntegerField(null=True) | |
journal = IntegerField(db_column='journal_id', null=True) | |
motion = TextField(null=True) | |
no_count = IntegerField(null=True) | |
os_vote = TextField(db_column='os_vote_id', null=True) | |
os_vote_type = IntegerField(db_column='os_vote_type_id', null=True) | |
other_count = IntegerField(null=True) | |
present_count = IntegerField(null=True) | |
roll_call_number = IntegerField(null=True) | |
session = IntegerField(db_column='session_id', null=True) | |
source = IntegerField(db_column='source_id', index=True, null=True) | |
vacant_count = IntegerField(null=True) | |
voted_on = DateField(null=True) | |
yes_count = IntegerField(null=True) | |
class Meta: | |
db_table = 'votes' | |
schema = 'bills' | |
class OsActionType(BaseModel): | |
description = TextField(null=True) | |
display_name = TextField(null=True) | |
name = TextField(null=True) | |
position = IntegerField(null=True) | |
class Meta: | |
db_table = 'os_action_types' | |
schema = 'bills' | |
class OsBillType(BaseModel): | |
name = TextField(null=True) | |
class Meta: | |
db_table = 'os_bill_types' | |
schema = 'bills' | |
class OsVoteTypes(BaseModel): | |
name = TextField(null=True) | |
class Meta: | |
db_table = 'os_vote_types' | |
schema = 'bills' | |
class Subjects(BaseModel): | |
is_scraped = IntegerField(null=True) | |
name = TextField(null=True) | |
class Meta: | |
db_table = 'subjects' | |
schema = 'bills' | |
# Financial Models | |
class MecActor(BaseModel): | |
legislator = IntegerField(db_column='legislator_id', null=True) | |
name_first = TextField(null=True) | |
name_last = TextField(null=True) | |
name_middle = TextField(null=True) | |
name_suffix = TextField(null=True) | |
class Meta: | |
db_table = 'mec_actors' | |
schema = 'financial' | |
class MecCommitteeAliases(BaseModel): | |
alias = TextField(null=True) | |
mec_committee = IntegerField(db_column='mec_committee_id', index=True, null=True) | |
name = TextField(null=True) | |
class Meta: | |
db_table = 'mec_committee_aliases' | |
schema = 'financial' | |
class MecCommitteeLegislator(BaseModel): | |
district = IntegerField(db_column='district_id', null=True) | |
legislator = ForeignKeyField(db_column='legislator_id', rel_model=DeferredLegForMec, index=True, null=True) | |
mec_committee = ForeignKeyField(db_column='mec_committee_id', rel_model=DeferredMecCommittee, index=True, null=True) | |
party = IntegerField(db_column='party_id', null=True) | |
term = IntegerField(db_column='term_id', null=True) | |
class Meta: | |
db_table = 'mec_committee_legislators' | |
schema = 'financial' | |
class MecCommitteeStatus(BaseModel): | |
name = TextField(null=True) | |
class Meta: | |
db_table = 'mec_committee_statuses' | |
schema = 'financial' | |
class MecCommitteeTypes(BaseModel): | |
name = TextField(null=True) | |
class Meta: | |
db_table = 'mec_committee_types' | |
schema = 'financial' | |
class MecCommittee(BaseModel): | |
address1 = TextField(null=True) | |
address2 = TextField(null=True) | |
city = TextField(null=True) | |
deputy_treasurer = IntegerField(db_column='deputy_treasurer_id', null=True) | |
mec = TextField(db_column='mec_id', index=True, null=True) | |
name = TextField(null=True) | |
state = IntegerField(db_column='state_id', index=True, null=True) | |
status = IntegerField(db_column='status_id', null=True) | |
treasurer = IntegerField(db_column='treasurer_id', null=True) | |
type = IntegerField(db_column='type_id', null=True) | |
zip = TextField(index=True, null=True) | |
class Meta: | |
db_table = 'mec_committees' | |
schema = 'financial' | |
class MecCompany(BaseModel): | |
address1 = TextField(null=True) | |
address2 = TextField(null=True) | |
city = TextField(index=True, null=True) | |
name = TextField(null=True) | |
state = IntegerField(db_column='state_id', null=True) | |
zip = TextField(index=True, null=True) | |
class Meta: | |
db_table = 'mec_companies' | |
schema = 'financial' | |
class MecGroups(BaseModel): | |
name = TextField(null=True) | |
class Meta: | |
db_table = 'mec_groups' | |
schema = 'financial' | |
class MecIndividual(BaseModel): | |
address1 = TextField(null=True) | |
address2 = TextField(null=True) | |
city = TextField(index=True, null=True) | |
employer = TextField(null=True) | |
name_first = TextField(null=True) | |
name_last = TextField(null=True) | |
name_middle = TextField(null=True) | |
name_suffix = TextField(null=True) | |
occupation = TextField(null=True) | |
state = IntegerField(db_column='state_id', index=True, null=True) | |
zip = TextField(index=True, null=True) | |
class Meta: | |
db_table = 'mec_individuals' | |
schema = 'financial' | |
class MecLobbyists(BaseModel): | |
address1 = TextField(null=True) | |
address2 = TextField(null=True) | |
city = TextField(null=True) | |
name_first = TextField(null=True) | |
name_last = TextField(null=True) | |
phone = TextField(null=True) | |
state = IntegerField(db_column='state_id', null=True) | |
zip = TextField(null=True) | |
class Meta: | |
db_table = 'mec_lobbyists' | |
schema = 'financial' | |
class MecSndRcvTypes(BaseModel): | |
model = TextField(null=True) | |
name = TextField(null=True) | |
class Meta: | |
db_table = 'mec_snd_rcv_types' | |
schema = 'financial' | |
class MecTransaction(BaseModel): | |
amount = FloatField(null=True) | |
description = TextField(null=True) | |
rcv = IntegerField(db_column='rcv_id', index=True, null=True) | |
rcv_type = IntegerField(db_column='rcv_type_id', index=True, null=True) | |
snd = IntegerField(db_column='snd_id', index=True, null=True) | |
snd_type = IntegerField(db_column='snd_type_id', index=True, null=True) | |
transaction_date = DateField(index=True, null=True) | |
type_code = CharField(null=True) | |
updated_at = DateTimeField(null=True) | |
class Meta: | |
db_table = 'mec_transactions' | |
schema = 'financial' | |
# Legislative Models | |
class Assembly(BaseModel): | |
end_year = IntegerField(null=True) | |
name = TextField(null=True) | |
seq = IntegerField(null=True) | |
start_year = IntegerField(null=True) | |
class Meta: | |
db_table = 'assemblies' | |
schema = 'legislative' | |
class AssemblyMember(BaseModel): | |
assembly = IntegerField(db_column='assembly_id', null=True) | |
chamber = IntegerField(db_column='chamber_id', null=True) | |
district = IntegerField(db_column='district_id', null=True) | |
legislator = IntegerField(db_column='legislator_id', null=True) | |
party = IntegerField(db_column='party_id', null=True) | |
race_candidate = IntegerField(db_column='race_candidate_id', null=True) | |
class Meta: | |
db_table = 'assembly_members' | |
schema = 'legislative' | |
class Chamber(BaseModel): | |
abbr_title = TextField(null=True) | |
code = CharField(null=True) | |
deleted = IntegerField(null=True) | |
image_url = TextField(null=True) | |
name = TextField(null=True) | |
os_name = TextField(null=True) | |
state = IntegerField(db_column='state_id', null=True) | |
title = TextField(null=True) | |
url = TextField(null=True) | |
class Meta: | |
db_table = 'chambers' | |
schema = 'legislative' | |
class CommitteeStatus(BaseModel): | |
name = TextField(null=True) | |
class Meta: | |
db_table = 'committee_statuses' | |
schema = 'legislative' | |
class District(BaseModel): | |
bbox = UnknownField(null=True) # USER-DEFINED | |
center_lat = FloatField(null=True) | |
center_lon = FloatField(null=True) | |
chamber = IntegerField(db_column='chamber_id', null=True) | |
deleted = IntegerField(null=True) | |
geom = UnknownField(null=True) # USER-DEFINED | |
lat_delta = FloatField(null=True) | |
lon_delta = FloatField(null=True) | |
name = TextField(null=True) | |
num_seats = IntegerField(null=True) | |
os_boundary = TextField(db_column='os_boundary_id', null=True) | |
os = TextField(db_column='os_id', null=True) | |
class Meta: | |
db_table = 'districts' | |
schema = 'legislative' | |
class ElectionType(BaseModel): | |
name = TextField(null=True) | |
class Meta: | |
db_table = 'election_types' | |
schema = 'legislative' | |
class Election(BaseModel): | |
deleted = IntegerField(null=True) | |
election_date = DateField(null=True) | |
type = IntegerField(db_column='type_id', null=True) | |
class Meta: | |
db_table = 'elections' | |
schema = 'legislative' | |
class LegislativeCommitteePosition(BaseModel): | |
name = TextField(null=True) | |
class Meta: | |
db_table = 'legislative_committee_positions' | |
schema = 'legislative' | |
class LegislativeCommittee(BaseModel): | |
chamber = IntegerField(db_column='chamber_id', null=True) | |
level = IntegerField(db_column='level_id', null=True) | |
name = TextField(null=True) | |
os = TextField(db_column='os_id', null=True) | |
class Meta: | |
db_table = 'legislative_committees' | |
schema = 'legislative' | |
class LegislativeOfficeType(BaseModel): | |
name = TextField(null=True) | |
class Meta: | |
db_table = 'legislative_office_types' | |
schema = 'legislative' | |
class LegislativeOffice(BaseModel): | |
address = TextField(null=True) | |
email_encoded = TextField(null=True) | |
fax = TextField(null=True) | |
legislator = IntegerField(db_column='legislator_id', null=True) | |
name = TextField(null=True) | |
phone = TextField(null=True) | |
type = IntegerField(db_column='type_id', null=True) | |
class Meta: | |
db_table = 'legislative_offices' | |
schema = 'legislative' | |
class LegislativeParty(BaseModel): | |
code = CharField(null=True) | |
name = TextField(null=True) | |
name_short = TextField(null=True) | |
class Meta: | |
db_table = 'legislative_parties' | |
schema = 'legislative' | |
class LegislativeTerm(BaseModel): | |
end_year = IntegerField(null=True) | |
name = TextField(null=True) | |
start_year = IntegerField(null=True) | |
state = IntegerField(db_column='state_id', null=True) | |
class Meta: | |
db_table = 'legislative_terms' | |
schema = 'legislative' | |
class LegislatorAppointment(BaseModel): | |
district = ForeignKeyField(db_column='district_id', index=True, null=True, rel_model=District, to_field='id') | |
legislator = ForeignKeyField(db_column='legislator_id', rel_model=DeferredLegislatorTwo, null=True, to_field='id') | |
party = IntegerField(db_column='party_id', null=True) | |
term = ForeignKeyField(db_column='term_id', index=True, null=True, rel_model=LegislativeTerm, to_field='id') | |
class Meta: | |
db_table = 'legislator_appointments' | |
schema = 'legislative' | |
class LegislatorCommittee(BaseModel): | |
committee = IntegerField(db_column='committee_id', null=True) | |
legislator = IntegerField(db_column='legislator_id', null=True) | |
position = IntegerField(db_column='position_id', null=True) | |
subcommittee = IntegerField(db_column='subcommittee_id', null=True) | |
term = ForeignKeyField(db_column='term_id', index=True, null=True, rel_model=LegislativeTerm, to_field='id') | |
class Meta: | |
db_table = 'legislator_committees' | |
schema = 'legislative' | |
class LegislatorElection(BaseModel): | |
district = IntegerField(db_column='district_id', null=True) | |
election = IntegerField(db_column='election_id', null=True) | |
id = IntegerField() | |
legislator = IntegerField(db_column='legislator_id', null=True) | |
party = IntegerField(db_column='party_id', null=True) | |
vote_count = IntegerField(null=True) | |
vote_percent = FloatField(null=True) | |
class Meta: | |
db_table = 'legislator_elections' | |
schema = 'legislative' | |
class LegislatorLevel(BaseModel): | |
name = TextField(null=True) | |
class Meta: | |
db_table = 'legislator_levels' | |
schema = 'legislative' | |
class LegislatorPosition(BaseModel): | |
legislator = IntegerField(db_column='legislator_id', null=True) | |
term = ForeignKeyField(db_column='term_id', index=True, null=True, rel_model=LegislativeTerm, to_field='id') | |
title = TextField(null=True) | |
class Meta: | |
db_table = 'legislator_positions' | |
schema = 'legislative' | |
class Legislator(BaseModel): | |
created_at = DateTimeField(null=True) | |
email_encoded = TextField(null=True) | |
is_active = IntegerField(null=True) | |
level = IntegerField(db_column='level_id', null=True) | |
name_first = TextField(null=True) | |
name_last = TextField(null=True) | |
name_middle = TextField(null=True) | |
name_suffix = TextField(null=True) | |
nickname = TextField(null=True) | |
os_leg = TextField(db_column='os_leg_id', null=True) | |
party = IntegerField(db_column='party_id', null=True) | |
photo_url = TextField(null=True) | |
suffixes = TextField(null=True) | |
transparencydata = TextField(db_column='transparencydata_id', null=True) | |
twitter = TextField(db_column='twitter_id', null=True) | |
updated_at = DateTimeField(null=True) | |
url = TextField(null=True) | |
votesmart = IntegerField(db_column='votesmart_id', null=True) | |
class Meta: | |
db_table = 'legislators' | |
schema = 'legislative' | |
class MemberSessionProfile(BaseModel): | |
assembly_member = IntegerField(db_column='assembly_member_id', null=True) | |
party = IntegerField(db_column='party_id', null=True) | |
raw_name = TextField(null=True) | |
session = IntegerField(db_column='session_id', null=True) | |
source_doc = IntegerField(db_column='source_doc_id', null=True) | |
class Meta: | |
db_table = 'member_session_profiles' | |
schema = 'legislative' | |
class Population(BaseModel): | |
amindian = IntegerField(null=True) | |
ap_blk = IntegerField(null=True) | |
apb_18plus = IntegerField(null=True) | |
asian = IntegerField(null=True) | |
asn_18plus = IntegerField(null=True) | |
black = IntegerField(null=True) | |
blk_18plus = IntegerField(null=True) | |
deviation = IntegerField(null=True) | |
district = ForeignKeyField(db_column='district_id', rel_model=DeferredDistrict, null=True) | |
hawaiian = IntegerField(null=True) | |
hisp_18plu = IntegerField(null=True) | |
hispanic = IntegerField(null=True) | |
hwn_18plus = IntegerField(null=True) | |
ideal = IntegerField(null=True) | |
ind_18plus = IntegerField(null=True) | |
min_18plus = IntegerField(null=True) | |
minority = IntegerField(null=True) | |
mr_18plus = IntegerField(null=True) | |
multi_race = IntegerField(null=True) | |
nh_18plus = IntegerField(null=True) | |
nh_w18plus = IntegerField(null=True) | |
nh_wht = IntegerField(null=True) | |
not_hisp = IntegerField(null=True) | |
oth_18plus = IntegerField(null=True) | |
other = IntegerField(null=True) | |
pop_18plus = IntegerField(null=True) | |
population = IntegerField(null=True) | |
white = IntegerField(null=True) | |
wht_18plus = IntegerField(null=True) | |
class Meta: | |
db_table = 'populations' | |
schema = 'legislative' | |
class SessionType(BaseModel): | |
name = TextField(null=True) | |
class Meta: | |
db_table = 'session_types' | |
schema = 'legislative' | |
class Session(BaseModel): | |
assembly = IntegerField(db_column='assembly_id', null=True) | |
display_name = TextField(null=True) | |
name = TextField(null=True) | |
start_date = DateField(null=True) | |
term = IntegerField(db_column='term_id', null=True) | |
type = IntegerField(db_column='type_id', null=True) | |
year = IntegerField(null=True) | |
class Meta: | |
db_table = 'sessions' | |
schema = 'legislative' | |
class SourceDoc(BaseModel): | |
chamber = IntegerField(db_column='chamber_id', index=True, null=True) | |
file_name = TextField(null=True) | |
fragment = TextField(null=True) | |
name = TextField(null=True) | |
netloc = TextField(null=True) | |
params = TextField(null=True) | |
parent = IntegerField(db_column='parent_id', null=True) | |
path = TextField(null=True) | |
query = TextField(null=True) | |
scheme = TextField(null=True) | |
session = IntegerField(db_column='session_id', index=True, null=True) | |
url = TextField(null=True) | |
class Meta: | |
db_table = 'source_docs' | |
schema = 'legislative' | |
class Subcommittee(BaseModel): | |
committee = IntegerField(db_column='committee_id', null=True) | |
name = TextField(null=True) | |
class Meta: | |
db_table = 'subcommittees' | |
schema = 'legislative' | |
class LegislatorVote(BaseModel): | |
legislator = ForeignKeyField(db_column='legislator_id', index=True, null=True, rel_model=Legislator, to_field='id') | |
vote = TextField(null=True) | |
vote_context = ForeignKeyField(db_column='vote_id', null=True, rel_model=Vote, to_field='id') | |
class Meta: | |
db_table = 'legislator_votes' | |
schema = 'bills' | |
class BillAction(BaseModel): | |
action_date = DateTimeField(index=True, null=True) | |
actor = IntegerField(db_column='actor_id', index=True, null=True) | |
bill = ForeignKeyField(db_column='bill_id', index=True, null=True, rel_model=Bill, to_field='id', | |
related_name='actions') | |
committee = ForeignKeyField(db_column='committee_id', index=True, null=True, rel_model=LegislativeCommittee, | |
to_field='id') | |
description = TextField(null=True) | |
journal = IntegerField(db_column='journal_id', null=True) | |
legislator = IntegerField(db_column='legislator_id', null=True) | |
source = IntegerField(db_column='source_id', index=True, null=True) | |
class Meta: | |
db_table = 'bill_actions' | |
schema = 'bills' | |
class ActionType(BaseModel): | |
action = ForeignKeyField(db_column='action_id', null=True, rel_model=BillAction, to_field='id') | |
os_action_type = IntegerField(db_column='os_action_type_id', index=True, null=True) | |
class Meta: | |
db_table = 'action_types' | |
indexes = ( | |
(('action', 'os_action_type'), True), | |
) | |
schema = 'bills' | |
# Finalize Deferred Relationships | |
DeferredSession.set_model(Session) | |
DeferredLegislator.set_model(Legislator) | |
DeferredLegislatorTwo.set_model(Legislator) | |
DeferredMecCommittee.set_model(MecCommittee) | |
DeferredDistrict.set_model(District) | |
DeferredLegForMec.set_model(Legislator) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment