mirror of
https://github.com/creyD/creyPY.git
synced 2026-04-14 12:20:31 +02:00
Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| dcb9afb8f2 | |||
|
|
8c98e001f9 | ||
| 959a746e4f |
@@ -1,4 +1,5 @@
|
|||||||
import uuid
|
import uuid
|
||||||
|
from datetime import datetime
|
||||||
|
|
||||||
from sqlalchemy import Column, DateTime, String
|
from sqlalchemy import Column, DateTime, String
|
||||||
from sqlalchemy.dialects.postgresql import UUID
|
from sqlalchemy.dialects.postgresql import UUID
|
||||||
@@ -13,11 +14,7 @@ class Base:
|
|||||||
# Primary key as uuid
|
# Primary key as uuid
|
||||||
id = Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4)
|
id = Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4)
|
||||||
created_at = Column(DateTime(timezone=True), server_default=func.now())
|
created_at = Column(DateTime(timezone=True), server_default=func.now())
|
||||||
updated_at = Column(
|
updated_at = Column(DateTime, default=datetime.utcnow, onupdate=datetime.utcnow)
|
||||||
DateTime(timezone=True),
|
|
||||||
server_default=func.now(),
|
|
||||||
onupdate=func.now(),
|
|
||||||
)
|
|
||||||
created_by_id = Column(String)
|
created_by_id = Column(String)
|
||||||
|
|
||||||
__name__: str
|
__name__: str
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import unittest
|
|||||||
from typing import Type
|
from typing import Type
|
||||||
|
|
||||||
from httpx import ASGITransport, AsyncClient, Response
|
from httpx import ASGITransport, AsyncClient, Response
|
||||||
from sqlalchemy import create_engine
|
from sqlalchemy import create_engine, text
|
||||||
from sqlalchemy.ext.asyncio import create_async_engine
|
from sqlalchemy.ext.asyncio import create_async_engine
|
||||||
from sqlalchemy_utils import create_database, database_exists, drop_database
|
from sqlalchemy_utils import create_database, database_exists, drop_database
|
||||||
|
|
||||||
@@ -23,7 +23,9 @@ class AbstractTestAPI(unittest.IsolatedAsyncioTestCase):
|
|||||||
print("setting up abstract")
|
print("setting up abstract")
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def setup_database(cls, sync_db_url: str, async_db_url: str, base: Type[Base]):
|
def setup_database(
|
||||||
|
cls, sync_db_url: str, async_db_url: str, base: Type[Base], btree_gist: bool = False
|
||||||
|
):
|
||||||
cls.engine_s = create_engine(
|
cls.engine_s = create_engine(
|
||||||
sync_db_url,
|
sync_db_url,
|
||||||
echo=False,
|
echo=False,
|
||||||
@@ -34,6 +36,10 @@ class AbstractTestAPI(unittest.IsolatedAsyncioTestCase):
|
|||||||
drop_database(cls.engine_s.url)
|
drop_database(cls.engine_s.url)
|
||||||
create_database(cls.engine_s.url)
|
create_database(cls.engine_s.url)
|
||||||
|
|
||||||
|
if btree_gist:
|
||||||
|
with cls.engine_s.begin() as conn:
|
||||||
|
conn.execute(text("CREATE EXTENSION IF NOT EXISTS btree_gist"))
|
||||||
|
|
||||||
# Migrate
|
# Migrate
|
||||||
base.metadata.create_all(cls.engine_s)
|
base.metadata.create_all(cls.engine_s)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user