tortoise / tortoise-orm

Familiar asyncio ORM for python, built with relations in mind
https://tortoise.github.io
Apache License 2.0
4.37k stars 355 forks source link

Add init_memory_sqlite decorator #1657

Closed waketzheng closed 4 days ago

waketzheng commented 1 week ago

Description

Almost every file in examples include the following two lines:

        await Tortoise.init(db_url="sqlite://:memory:", modules={"models": ["__main__"]})
        await Tortoise.generate_schemas()

Motivation and Context

class User(models.Model): id = fields.IntField(primary_key=True) name = fields.TextField()

@init_memory_sqlite async def run(): user = await User.create(name='J') print(user.name)

if name == 'main': run_async(run())

- Example2:
```py
# app/models.py
from tortoise import fields, models

class User(models.Model):
    id = fields.IntField(primary_key=True)
    name = fields.TextField()
# main.py
from tortoise import run_async
from tortoise.contrib.test import init_memory_sqlite

from app.models import User

@init_memory_sqlite(['app.models'])
async def run():
    user = await User.create(name='J')
    print(user.name)

if __name__ == '__main__':
    run_async(run())

How Has This Been Tested?

make ci

Checklist:

coveralls commented 1 week ago

Pull Request Test Coverage Report for Build 9544850985

Details


Totals Coverage Status
Change from base Build 9543663341: 0.02%
Covered Lines: 5881
Relevant Lines: 6505

💛 - Coveralls
coveralls commented 1 week ago

Pull Request Test Coverage Report for Build 9560727240

Details


Totals Coverage Status
Change from base Build 9543663341: 0.02%
Covered Lines: 5881
Relevant Lines: 6505

💛 - Coveralls
coveralls commented 1 week ago

Pull Request Test Coverage Report for Build 9560904994

Details


Totals Coverage Status
Change from base Build 9543663341: 0.02%
Covered Lines: 5881
Relevant Lines: 6505

💛 - Coveralls
coveralls commented 1 week ago

Pull Request Test Coverage Report for Build 9561639055

Details


Totals Coverage Status
Change from base Build 9543663341: 0.02%
Covered Lines: 5881
Relevant Lines: 6505

💛 - Coveralls
coveralls commented 1 week ago

Pull Request Test Coverage Report for Build 9562578561

Details


Totals Coverage Status
Change from base Build 9543663341: 0.02%
Covered Lines: 5882
Relevant Lines: 6506

💛 - Coveralls
coveralls commented 5 days ago

Pull Request Test Coverage Report for Build 9645745307

Details


Changes Missing Coverage Covered Lines Changed/Added Lines %
tortoise/contrib/test/init.py 32 33 96.97%
<!-- Total: 32 33 96.97% -->
Totals Coverage Status
Change from base Build 9642974390: 0.008%
Covered Lines: 5906
Relevant Lines: 6531

💛 - Coveralls