Skip to content

Commit d0b735e

Browse files
committed
Update package and releases due to change with sqlalchemy 2.0.
1 parent c2e1dba commit d0b735e

File tree

12 files changed

+49
-32
lines changed

12 files changed

+49
-32
lines changed

app/ch09_sqlalchemy/final/pypi_org/data/package.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33

44
import sqlalchemy as sa
55
import sqlalchemy.orm as orm
6+
from sqlalchemy.orm import Mapped
7+
68
from pypi_org.data.modelbase import SqlAlchemyBase
79
from pypi_org.data.releases import Release
810

@@ -25,7 +27,7 @@ class Package(SqlAlchemyBase):
2527
license = sa.Column(sa.String, index=True)
2628

2729
# releases relationship
28-
releases: List[Release] = orm.relation(
30+
releases: Mapped[Release] = orm.relationship(
2931
'Release',
3032
order_by=[
3133
Release.major_ver.desc(),

app/ch09_sqlalchemy/final/pypi_org/data/releases.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ class Release(SqlAlchemyBase):
2020

2121
# Package relationship
2222
package_id = sqlalchemy.Column(sqlalchemy.String, sqlalchemy.ForeignKey('packages.id'))
23-
package = orm.relation('Package')
23+
package = orm.relationship('Package')
2424

2525
@property
2626
def version_text(self):

app/ch10_using_sqlachemy/final/pypi_org/data/package.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33

44
import sqlalchemy as sa
55
import sqlalchemy.orm as orm
6+
from sqlalchemy.orm import Mapped
7+
68
from pypi_org.data.modelbase import SqlAlchemyBase
79
from pypi_org.data.releases import Release
810

@@ -25,7 +27,7 @@ class Package(SqlAlchemyBase):
2527
license: str = sa.Column(sa.String, index=True)
2628

2729
# releases relationship
28-
releases: List[Release] = orm.relation(
30+
releases: Mapped[Release] = orm.relationship(
2931
'Release',
3032
order_by=[
3133
Release.major_ver.desc(),

app/ch10_using_sqlachemy/final/pypi_org/data/releases.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ class Release(SqlAlchemyBase):
2020

2121
# Package relationship
2222
package_id: str = sqlalchemy.Column(sqlalchemy.String, sqlalchemy.ForeignKey('packages.id'))
23-
package = orm.relation('Package')
23+
package = orm.relationship('Package')
2424

2525
@property
2626
def version_text(self):

app/ch10_using_sqlachemy/starter/pypi_org/data/package.py

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,29 +3,31 @@
33

44
import sqlalchemy as sa
55
import sqlalchemy.orm as orm
6+
from sqlalchemy.orm import Mapped
7+
68
from pypi_org.data.modelbase import SqlAlchemyBase
79
from pypi_org.data.releases import Release
810

911

1012
class Package(SqlAlchemyBase):
1113
__tablename__ = 'packages'
1214

13-
id = sa.Column(sa.String, primary_key=True)
14-
created_date = sa.Column(sa.DateTime, default=datetime.datetime.now, index=True)
15-
summary = sa.Column(sa.String, nullable=False)
16-
description = sa.Column(sa.String, nullable=True)
15+
id: str = sa.Column(sa.String, primary_key=True)
16+
created_date: datetime.datetime = sa.Column(sa.DateTime, default=datetime.datetime.now, index=True)
17+
summary: str = sa.Column(sa.String, nullable=False)
18+
description: str = sa.Column(sa.String, nullable=True)
1719

18-
home_page = sa.Column(sa.String)
19-
docs_url = sa.Column(sa.String)
20-
package_url = sa.Column(sa.String)
20+
home_page: str = sa.Column(sa.String)
21+
docs_url: str = sa.Column(sa.String)
22+
package_url: str = sa.Column(sa.String)
2123

22-
author_name = sa.Column(sa.String)
23-
author_email = sa.Column(sa.String, index=True)
24+
author_name: str = sa.Column(sa.String)
25+
author_email: str = sa.Column(sa.String, index=True)
2426

25-
license = sa.Column(sa.String, index=True)
27+
license: str = sa.Column(sa.String, index=True)
2628

2729
# releases relationship
28-
releases: List[Release] = orm.relation(
30+
releases: Mapped[Release] = orm.relationship(
2931
'Release',
3032
order_by=[
3133
Release.major_ver.desc(),

app/ch10_using_sqlachemy/starter/pypi_org/data/releases.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,20 +7,20 @@
77
class Release(SqlAlchemyBase):
88
__tablename__ = 'releases'
99

10-
id = sqlalchemy.Column(sqlalchemy.Integer, primary_key=True, autoincrement=True)
10+
id: int = sqlalchemy.Column(sqlalchemy.Integer, primary_key=True, autoincrement=True)
1111

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)
12+
major_ver: int = sqlalchemy.Column(sqlalchemy.BigInteger, index=True)
13+
minor_ver: int = sqlalchemy.Column(sqlalchemy.BigInteger, index=True)
14+
build_ver: int = sqlalchemy.Column(sqlalchemy.BigInteger, index=True)
1515

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)
16+
created_date: datetime.datetime = sqlalchemy.Column(sqlalchemy.DateTime, default=datetime.datetime.now, index=True)
17+
comment: str = sqlalchemy.Column(sqlalchemy.String)
18+
url: str = sqlalchemy.Column(sqlalchemy.String)
19+
size: int = sqlalchemy.Column(sqlalchemy.BigInteger)
2020

2121
# Package relationship
22-
package_id = sqlalchemy.Column(sqlalchemy.String, sqlalchemy.ForeignKey('packages.id'))
23-
package = orm.relation('Package')
22+
package_id: str = sqlalchemy.Column(sqlalchemy.String, sqlalchemy.ForeignKey('packages.id'))
23+
package = orm.relationship('Package')
2424

2525
@property
2626
def version_text(self):

app/ch11_migrations/final/pypi_org/bin/load_data.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,10 @@
77
import progressbar
88
from dateutil.parser import parse
99

10+
from pypi_org.infrastructure.num_convert import try_int
11+
1012
sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..')))
1113

12-
from pypi_org.bin.load_data import try_int
1314
import pypi_org.data.db_session as db_session
1415
from pypi_org.data.languages import ProgrammingLanguage
1516
from pypi_org.data.licenses import License

app/ch11_migrations/final/pypi_org/data/package.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33

44
import sqlalchemy as sa
55
import sqlalchemy.orm as orm
6+
from sqlalchemy.orm import Mapped
7+
68
from pypi_org.data.modelbase import SqlAlchemyBase
79
from pypi_org.data.releases import Release
810

@@ -12,7 +14,6 @@ class Package(SqlAlchemyBase):
1214

1315
id: str = sa.Column(sa.String, primary_key=True)
1416
created_date: datetime.datetime = sa.Column(sa.DateTime, default=datetime.datetime.now, index=True)
15-
last_updated: datetime.datetime = sa.Column(sa.DateTime, default=datetime.datetime.now, index=True)
1617
summary: str = sa.Column(sa.String, nullable=False)
1718
description: str = sa.Column(sa.String, nullable=True)
1819

@@ -26,7 +27,7 @@ class Package(SqlAlchemyBase):
2627
license: str = sa.Column(sa.String, index=True)
2728

2829
# releases relationship
29-
releases: List[Release] = orm.relation(
30+
releases: Mapped[Release] = orm.relationship(
3031
'Release',
3132
order_by=[
3233
Release.major_ver.desc(),

app/ch11_migrations/final/pypi_org/data/releases.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ class Release(SqlAlchemyBase):
2020

2121
# Package relationship
2222
package_id: str = sqlalchemy.Column(sqlalchemy.String, sqlalchemy.ForeignKey('packages.id'))
23-
package = orm.relation('Package')
23+
package = orm.relationship('Package')
2424

2525
@property
2626
def version_text(self):
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
from typing import Optional
2+
3+
4+
def try_int(text) -> Optional[int]:
5+
try:
6+
return int(text)
7+
except:
8+
return None

0 commit comments

Comments
 (0)