Instance Propertygrdb 7.2.0GRDB

defaultValueSQL

The SQL snippet that defines the default value, if any.

Database+Schema.swift:1181
let defaultValueSQL: String?

When nil, the column has no default value.

When not nil, it contains an SQL string that defines an expression. That expression may be a literal, as 1, or 'foo'. It may also contain a non-constant expression such as CURRENT_TIMESTAMP.

Related SQLite documentation: https://www.sqlite.org/lang_createtable.html#the_default_clause.

For example:

try db.execute(sql: """
    CREATE TABLE player(
        id INTEGER PRIMARY KEY,
        name TEXT DEFAULT 'Anonymous',
        score INT DEFAULT 0,
        creationDate DATE DEFAULT CURRENT_TIMESTAMP
    )
    """)
let columnInfos = try db.columns(in: "player")
columnInfos[0].defaultValueSQL // nil
columnInfos[1].defaultValueSQL // "'Anonymous'"
columnInfos[2].defaultValueSQL // "0"
columnInfos[3].defaultValueSQL // "CURRENT_TIMESTAMP"

Related SQLite documentation: https://www.sqlite.org/lang_createtable.html#the_default_clause.