Skip to content

Instantly share code, notes, and snippets.

@Refffy
Created January 28, 2021 13:03
Show Gist options
  • Save Refffy/63a48bdfb84c0e0c39b15aa6e7986598 to your computer and use it in GitHub Desktop.
Save Refffy/63a48bdfb84c0e0c39b15aa6e7986598 to your computer and use it in GitHub Desktop.
from sqlalchemy_utils import URLType
from sqlalchemy.orm import mapper
from sqlalchemy import MetaData
from sqlalchemy import DateTime
from sqlalchemy import Integer
from sqlalchemy import Column
from sqlalchemy import String
from sqlalchemy import Table
from sqlalchemy import ARRAY
from dataclasses import dataclass
from dataclasses import field
from typing import List
from datetime import datetime
@dataclass
class Post:
id: int
url: str = field(default_factory=str)
usr_name: str = field(default_factory=str)
title: str = field(default_factory=str)
tags: List[str] = field(default_factory=list)
created_at: datetime = datetime.utcnow()
metadata = MetaData()
post = Table(
'post',
metadata,
Column('id', Integer, primary_key=True),
# Column('url', String),
Column('url', URLType),
Column('usr_name', String(30), unique=True),
Column('title', String(60)),
Column('tags', ARRAY(String)),
Column('created_at', DateTime, default=datetime.utcnow())
)
mapper(Post, post)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment