Skip to content

Commit 1fe125f

Browse files
tortoise-orm 0.19 bump (#273)
* tortoise-orm 0.19 bump * Cleanup * Bump tortoise * DB utils, typing
1 parent b532936 commit 1fe125f

File tree

18 files changed

+261
-233
lines changed

18 files changed

+261
-233
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,10 @@
1111
* jobs: Fixed jobs with `daemon` schedule never start.
1212
* jobs: Fixed failed jobs not throwing exceptions into the main loop.
1313

14+
### Other
15+
16+
* database: Tortoise ORM updated to `0.19.1`.
17+
1418
## 5.1.1 - 2022-05-13
1519

1620
### Fixed

poetry.lock

Lines changed: 179 additions & 166 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ python-dotenv = "^0.19.0"
4141
sentry-sdk = "^1.4.3"
4242
sqlparse = "^0.4.2"
4343
tabulate = "^0.8.9"
44-
tortoise-orm = "0.17.8"
44+
tortoise-orm = "0.19.1"
4545
typing-inspect = "^0.6.0"
4646

4747
[tool.poetry.dev-dependencies]

src/demo_hic_et_nunc/models.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
from enum import IntEnum
22

3+
from tortoise import ForeignKeyFieldInstance
34
from tortoise import Model
45
from tortoise import fields
56

@@ -16,15 +17,15 @@ class Holder(Model):
1617

1718
class Token(Model):
1819
id = fields.BigIntField(pk=True)
19-
creator = fields.ForeignKeyField('models.Holder', 'tokens')
20+
creator: ForeignKeyFieldInstance[Holder] = fields.ForeignKeyField('models.Holder', 'tokens')
2021
supply = fields.BigIntField()
2122
level = fields.BigIntField()
2223
timestamp = fields.DatetimeField()
2324

2425

2526
class Swap(Model):
2627
id = fields.BigIntField(pk=True)
27-
creator = fields.ForeignKeyField('models.Holder', 'swaps')
28+
creator: ForeignKeyFieldInstance[Holder] = fields.ForeignKeyField('models.Holder', 'swaps')
2829
price = fields.BigIntField()
2930
amount = fields.BigIntField()
3031
amount_left = fields.BigIntField()
@@ -35,9 +36,9 @@ class Swap(Model):
3536

3637
class Trade(Model):
3738
id = fields.BigIntField(pk=True)
38-
swap = fields.ForeignKeyField('models.Swap', 'trades')
39-
seller = fields.ForeignKeyField('models.Holder', 'sales')
40-
buyer = fields.ForeignKeyField('models.Holder', 'purchases')
39+
swap: ForeignKeyFieldInstance[Swap] = fields.ForeignKeyField('models.Swap', 'trades')
40+
seller: ForeignKeyFieldInstance[Holder] = fields.ForeignKeyField('models.Holder', 'sales')
41+
buyer: ForeignKeyFieldInstance[Holder] = fields.ForeignKeyField('models.Holder', 'purchases')
4142
amount = fields.BigIntField()
4243
level = fields.BigIntField()
4344
timestamp = fields.DatetimeField()

src/demo_registrydao/models.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
from tortoise import ForeignKeyFieldInstance
12
from tortoise import Model
23
from tortoise import fields
34

@@ -16,7 +17,7 @@ class Meta:
1617

1718
class Proposal(Model):
1819
id = fields.IntField(pk=True)
19-
dao = fields.ForeignKeyField('models.DAO', 'proposals')
20+
dao: ForeignKeyFieldInstance[DAO] = fields.ForeignKeyField('models.DAO', 'proposals')
2021
# upvotes = fields.IntField(default=0)
2122
# downvotes = fields.IntField(default=0)
2223
# start_date = fields.DatetimeField()
@@ -29,7 +30,7 @@ class Meta:
2930

3031
class Vote(Model):
3132
id = fields.IntField(pk=True)
32-
proposal = fields.ForeignKeyField('models.Proposal', 'votes')
33+
proposal: ForeignKeyFieldInstance[Proposal] = fields.ForeignKeyField('models.Proposal', 'votes')
3334
amount = fields.IntField()
3435

3536
class Meta:

src/demo_tezos_domains/models.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
from tortoise import ForeignKeyFieldInstance
12
from tortoise import Model
23
from tortoise import fields
34

@@ -9,13 +10,13 @@ class TLD(Model):
910

1011
class Domain(Model):
1112
id = fields.CharField(max_length=255, pk=True)
12-
tld = fields.ForeignKeyField('models.TLD', 'domains')
13+
tld: ForeignKeyFieldInstance[TLD] = fields.ForeignKeyField('models.TLD', 'domains')
1314
expiry = fields.DatetimeField(null=True)
1415
owner = fields.CharField(max_length=36)
1516
token_id = fields.BigIntField(null=True)
1617

1718

1819
class Record(Model):
1920
id = fields.CharField(max_length=255, pk=True)
20-
domain = fields.ForeignKeyField('models.Domain', 'records')
21+
domain: ForeignKeyFieldInstance[Domain] = fields.ForeignKeyField('models.Domain', 'records')
2122
address = fields.CharField(max_length=36, null=True)

src/demo_tezos_domains_big_map/models.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
from tortoise import ForeignKeyFieldInstance
12
from tortoise import Model
23
from tortoise import fields
34

@@ -14,12 +15,12 @@ class Expiry(Model):
1415

1516
class Domain(Model):
1617
id = fields.CharField(max_length=255, pk=True)
17-
tld = fields.ForeignKeyField('models.TLD', 'domains')
18+
tld: ForeignKeyFieldInstance[TLD] = fields.ForeignKeyField('models.TLD', 'domains')
1819
owner = fields.CharField(max_length=36)
1920
token_id = fields.BigIntField(null=True)
2021

2122

2223
class Record(Model):
2324
id = fields.CharField(max_length=255, pk=True)
24-
domain = fields.ForeignKeyField('models.Domain', 'records')
25+
domain: ForeignKeyFieldInstance[Domain] = fields.ForeignKeyField('models.Domain', 'records')
2526
address = fields.CharField(max_length=36, null=True)

src/demo_tzcolors/models.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
from enum import IntEnum
22

3+
from tortoise import ForeignKeyFieldInstance
34
from tortoise import Model
45
from tortoise import fields
56

@@ -22,18 +23,18 @@ class Token(Model):
2223
amount = fields.BigIntField()
2324
level = fields.BigIntField()
2425
timestamp = fields.DatetimeField()
25-
holder = fields.ForeignKeyField('models.Address', 'tokens')
26+
holder: ForeignKeyFieldInstance[Address] = fields.ForeignKeyField('models.Address', 'tokens')
2627

2728
class Meta:
2829
table = 'tokens'
2930

3031

3132
class Auction(Model):
3233
id = fields.BigIntField(pk=True)
33-
token = fields.ForeignKeyField('models.Token', 'auctions')
34+
token: ForeignKeyFieldInstance[Token] = fields.ForeignKeyField('models.Token', 'auctions')
3435
bid_amount = fields.BigIntField()
35-
bidder = fields.ForeignKeyField('models.Address', 'winning_auctions')
36-
seller = fields.ForeignKeyField('models.Address', 'created_auctions')
36+
bidder: ForeignKeyFieldInstance[Address] = fields.ForeignKeyField('models.Address', 'winning_auctions')
37+
seller: ForeignKeyFieldInstance[Address] = fields.ForeignKeyField('models.Address', 'created_auctions')
3738
end_timestamp = fields.DatetimeField()
3839
status = fields.IntEnumField(AuctionStatus)
3940
level = fields.BigIntField()
@@ -45,8 +46,8 @@ class Meta:
4546

4647
class Bid(Model):
4748
id = fields.BigIntField(pk=True)
48-
auction = fields.ForeignKeyField('models.Auction', 'bids')
49+
auction: ForeignKeyFieldInstance[Auction] = fields.ForeignKeyField('models.Auction', 'bids')
4950
bid_amount = fields.BigIntField()
50-
bidder = fields.ForeignKeyField('models.Address', 'bids')
51+
bidder: ForeignKeyFieldInstance[Address] = fields.ForeignKeyField('models.Address', 'bids')
5152
level = fields.BigIntField()
5253
timestamp = fields.DatetimeField()

src/dipdup/cli.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626
from sentry_sdk.integrations.logging import LoggingIntegration
2727
from tabulate import tabulate
2828
from tortoise import Tortoise
29-
from tortoise.transactions import get_connection
3029
from tortoise.utils import get_schema_sql
3130

3231
from dipdup import __spec_version__
@@ -48,6 +47,7 @@
4847
from dipdup.models import Schema
4948
from dipdup.utils import iter_files
5049
from dipdup.utils.database import generate_schema
50+
from dipdup.utils.database import get_connection
5151
from dipdup.utils.database import set_decimal_context
5252
from dipdup.utils.database import tortoise_wrapper
5353
from dipdup.utils.database import wipe_schema
@@ -406,7 +406,7 @@ async def schema_wipe(ctx, immune: bool, force: bool):
406406
_logger.info('Wiping schema `%s`', url)
407407

408408
async with tortoise_wrapper(url, models):
409-
conn = get_connection(None)
409+
conn = get_connection()
410410
if isinstance(config.database, PostgresDatabaseConfig):
411411
await wipe_schema(
412412
conn=conn,
@@ -437,7 +437,7 @@ async def schema_init(ctx):
437437
await dipdup._initialize_schema()
438438

439439
# NOTE: It's not necessary a reindex, but it's safe to execute built-in scripts to (re)create views.
440-
conn = get_connection(None)
440+
conn = get_connection()
441441
await generate_schema(conn, config.database.schema_name)
442442

443443
_logger.info('Schema initialized')
@@ -452,7 +452,7 @@ async def schema_export(ctx):
452452
models = f'{config.package}.models'
453453

454454
async with tortoise_wrapper(url, models):
455-
conn = get_connection(None)
455+
conn = get_connection()
456456
output = get_schema_sql(conn, False) + '\n'
457457
dipdup_sql_path = join(dirname(__file__), 'sql', 'on_reindex')
458458
project_sql_path = join(config.package_path, 'sql', 'on_reindex')

src/dipdup/config.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1037,7 +1037,7 @@ class JobConfig(NameMixin):
10371037
args: Dict[str, Any] = field(default_factory=dict)
10381038

10391039
def __post_init_post_parse__(self):
1040-
schedules_enabled = sum(map(lambda x: int(bool(x)), (self.crontab, self.interval, self.daemon)))
1040+
schedules_enabled = sum(int(bool(x)) for x in (self.crontab, self.interval, self.daemon))
10411041
if schedules_enabled > 1:
10421042
raise ConfigurationError('Only one of `crontab`, `interval` of `daemon` can be specified')
10431043
elif not schedules_enabled:

0 commit comments

Comments
 (0)