points_balance_view.cjs
574 Bytes
const viewName = 'points_balance_view'
function createViewSql() {
return 'CREATE VIEW points_balance_view AS SELECT user_id, COALESCE(SUM(amount), 0) AS balance FROM billing_ledger GROUP BY user_id'
}
function createEmptyViewSql(dialect) {
if (dialect === 'mysql2') {
return 'CREATE OR REPLACE VIEW points_balance_view AS SELECT NULL AS user_id, 0 AS balance FROM DUAL WHERE 1=0'
}
return 'CREATE VIEW IF NOT EXISTS points_balance_view AS SELECT NULL AS user_id, 0 AS balance WHERE 0'
}
module.exports = {
viewName,
createViewSql,
createEmptyViewSql,
}