class Field:
    def __init__(self, db_type, primary_key=False, default=None):
        self.db_type = db_type
        self.primary_key = primary_key
        self.default = default

    def to_db_value(self, value):
        return value

    def from_db_value(self, value):
        return value

class IntegerField(Field):
    def __init__(self, primary_key=False, default=None):
        super().__init__('INTEGER', primary_key=primary_key, default=default)

class CharField(Field):
    def __init__(self, max_length=255, default=None):
        super().__init__(f'VARCHAR({max_length})', default=default)