from minibase.app import db
from datetime import datetime

class Countries(db.Model):
    __tablename__   = "countries"
    id              = db.Column(db.Integer, nullable=False, primary_key=True)
    name            = db.Column(db.String(100), nullable=False)
    iso3            = db.Column(db.String(3), nullable=True)
    numeric_code    = db.Column(db.String(3), nullable=True)
    iso2            = db.Column(db.String(2), nullable=True)
    phonecode       = db.Column(db.String(255), nullable=True)
    capital         = db.Column(db.String(255), nullable=True)
    currency        = db.Column(db.String(255), nullable=True)
    currency_name   = db.Column(db.String(255), nullable=True)
    currency_symbol = db.Column(db.String(255), nullable=True)
    tld             = db.Column(db.String(255), nullable=True)
    native          = db.Column(db.String(255), nullable=True)
    region          = db.Column(db.String(255), nullable=True)
    region_id       = db.Column(db.Integer, nullable=True)
    subregion       = db.Column(db.String(255), nullable=True)
    subregion_id    = db.Column(db.Integer, nullable=True)
    nationality     = db.Column(db.String(255), nullable=True)
    timezones       = db.Column(db.String(255), nullable=True)
    translations    = db.Column(db.String(255), nullable=True)
    latitude        = db.Column(db.Float, nullable=True)
    longitude       = db.Column(db.Float, nullable=True)
    emoji           = db.Column(db.String(191), nullable=True)
    emojiU          = db.Column(db.String(191), nullable=True)
    created_at      = db.Column(db.DateTime, nullable=False, default=datetime.utcnow)
    updated_at      = db.Column(db.DateTime, nullable=False, default=datetime.utcnow, onupdate=datetime.utcnow)
    flag            = db.Column(db.Integer, nullable=False, default=1)
    wikiDataId      = db.Column(db.String(255))