File tree Expand file tree Collapse file tree 8 files changed +105
-3
lines changed
src/ch9-sqlalchemy/final/pypi_sqlalchemy/pypi Expand file tree Collapse file tree 8 files changed +105
-3
lines changed Original file line number Diff line number Diff line change 1- # noinspection PyUnresolvedReferences
2- from pypi .data .packages import Package
1+ # Add all your SQLAlchemy models here.
2+ # This allows us to import just this file when
3+ # we need to preload the models and ensure they
4+ # are all loaded.
35
4- # And all the others we define...
6+ # noinspection PyUnresolvedReferences
7+ import pypi .data .downloads
8+ # noinspection PyUnresolvedReferences
9+ import pypi .data .languages
10+ # noinspection PyUnresolvedReferences
11+ import pypi .data .licenses
12+ # noinspection PyUnresolvedReferences
13+ import pypi .data .maintainers
14+ # noinspection PyUnresolvedReferences
15+ import pypi .data .packages
16+ # noinspection PyUnresolvedReferences
17+ import pypi .data .releases
18+ # noinspection PyUnresolvedReferences
19+ import pypi .data .users
Original file line number Diff line number Diff line change 1+ import datetime
2+ import sqlalchemy
3+ from pypi .data .modelbase import SqlAlchemyBase
4+
5+
6+ class Download (SqlAlchemyBase ):
7+ __tablename__ = 'downloads'
8+
9+ id = sqlalchemy .Column (sqlalchemy .BigInteger , primary_key = True , autoincrement = True )
10+ created_date = sqlalchemy .Column (sqlalchemy .DateTime , default = datetime .datetime .now , index = True )
11+
12+ package_id = sqlalchemy .Column (sqlalchemy .String , index = True )
13+ release_id = sqlalchemy .Column (sqlalchemy .BigInteger , index = True )
14+
15+ ip_address = sqlalchemy .Column (sqlalchemy .String )
16+ user_agent = sqlalchemy .Column (sqlalchemy .String )
Original file line number Diff line number Diff line change 1+ import datetime
2+ import sqlalchemy
3+ from pypi .data .modelbase import SqlAlchemyBase
4+
5+
6+ class ProgrammingLanguage (SqlAlchemyBase ):
7+ __tablename__ = 'languages'
8+
9+ id = sqlalchemy .Column (sqlalchemy .String , primary_key = True )
10+ created_date = sqlalchemy .Column (sqlalchemy .DateTime , default = datetime .datetime .now , index = True )
11+ description = sqlalchemy .Column (sqlalchemy .String )
Original file line number Diff line number Diff line change 1+ import datetime
2+ import sqlalchemy
3+ from pypi .data .modelbase import SqlAlchemyBase
4+
5+
6+ class License (SqlAlchemyBase ):
7+ __tablename__ = 'licenses'
8+
9+ id = sqlalchemy .Column (sqlalchemy .String , primary_key = True )
10+ created_date = sqlalchemy .Column (sqlalchemy .DateTime , default = datetime .datetime .now , index = True )
11+ description = sqlalchemy .Column (sqlalchemy .String )
Original file line number Diff line number Diff line change 1+ import sqlalchemy
2+ from pypi .data .modelbase import SqlAlchemyBase
3+
4+
5+ class Maintainer (SqlAlchemyBase ):
6+ __tablename__ = 'maintainers'
7+
8+ user_id = sqlalchemy .Column (sqlalchemy .Integer , primary_key = True )
9+ package_id = sqlalchemy .Column (sqlalchemy .String , primary_key = True )
Original file line number Diff line number Diff line change 1+ import datetime
2+ import sqlalchemy
3+ from sqlalchemy import orm
4+ from pypi .data .modelbase import SqlAlchemyBase
5+
6+
7+ class Release (SqlAlchemyBase ):
8+ __tablename__ = 'releases'
9+
10+ id = sqlalchemy .Column (sqlalchemy .Integer , primary_key = True , autoincrement = True )
11+
12+ major_ver = sqlalchemy .Column (sqlalchemy .BigInteger , index = True )
13+ minor_ver = sqlalchemy .Column (sqlalchemy .BigInteger , index = True )
14+ build_ver = sqlalchemy .Column (sqlalchemy .BigInteger , index = True )
15+
16+ created_date = sqlalchemy .Column (sqlalchemy .DateTime , default = datetime .datetime .now , index = True )
17+ comment = sqlalchemy .Column (sqlalchemy .String )
18+ url = sqlalchemy .Column (sqlalchemy .String )
19+ size = sqlalchemy .Column (sqlalchemy .BigInteger )
20+
21+ # Package relationship
22+
23+ @property
24+ def version_text (self ):
25+ return '{}.{}.{}' .format (self .major_ver , self .minor_ver , self .build_ver )
Original file line number Diff line number Diff line change 1+ import datetime
2+ import sqlalchemy
3+ from pypi .data .modelbase import SqlAlchemyBase
4+
5+
6+ class User (SqlAlchemyBase ):
7+ __tablename__ = 'users'
8+
9+ id = sqlalchemy .Column (sqlalchemy .Integer , primary_key = True , autoincrement = True )
10+ name = sqlalchemy .Column (sqlalchemy .String , nullable = True )
11+ email = sqlalchemy .Column (sqlalchemy .String , index = True , nullable = True )
12+ hashed_password = sqlalchemy .Column (sqlalchemy .String , nullable = True , index = True )
13+ created_date = sqlalchemy .Column (sqlalchemy .DateTime , default = datetime .datetime .now , index = True )
14+ profile_image_url = sqlalchemy .Column (sqlalchemy .String )
15+ last_login = sqlalchemy .Column (sqlalchemy .DateTime , default = datetime .datetime .now , index = True )
You can’t perform that action at this time.
0 commit comments