-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathseed.mjs
More file actions
25 lines (20 loc) · 719 Bytes
/
seed.mjs
File metadata and controls
25 lines (20 loc) · 719 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import Database from 'better-sqlite3'
import { readFileSync } from 'node:fs'
import { resolve } from 'node:path'
const DB_PATH = resolve('chinook.db')
const SQL_PATH = resolve('seed.sql')
const db = new Database(DB_PATH)
const sql = readFileSync(SQL_PATH, 'utf8')
db.exec(sql)
const counts = db
.prepare(
`SELECT 'Artists' AS name, COUNT(*) AS rows FROM Artist
UNION ALL SELECT 'Albums', COUNT(*) FROM Album
UNION ALL SELECT 'Tracks', COUNT(*) FROM Track
UNION ALL SELECT 'Customers', COUNT(*) FROM Customer
UNION ALL SELECT 'Invoices', COUNT(*) FROM Invoice
UNION ALL SELECT 'InvoiceLines', COUNT(*) FROM InvoiceLine`
)
.all()
console.table(counts)
db.close()