You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
931 B
JavaScript
34 lines
931 B
JavaScript
const fs = require('fs')
|
|
const path = require('path')
|
|
const sqlite3 = require('sqlite3').verbose()
|
|
|
|
const dbPath = path.join(__dirname, '..', 'data', 'bricoloc.db')
|
|
const schemaPath = path.join(__dirname, '..', 'data', 'seeds', 'schema.sql')
|
|
|
|
// Supprimer la base existante si elle existe
|
|
if (fs.existsSync(dbPath)) {
|
|
fs.unlinkSync(dbPath)
|
|
console.log('Base de données existante supprimée')
|
|
}
|
|
|
|
// Créer une nouvelle base
|
|
const db = new sqlite3.Database(dbPath, (err) => {
|
|
if (err) {
|
|
console.error('Erreur de création de la base:', err.message)
|
|
process.exit(1)
|
|
}
|
|
console.log('Base de données créée')
|
|
})
|
|
|
|
// Lire et exécuter le schéma
|
|
const schema = fs.readFileSync(schemaPath, 'utf8')
|
|
|
|
db.exec(schema, (err) => {
|
|
if (err) {
|
|
console.error('Erreur lors de la création du schéma:', err.message)
|
|
process.exit(1)
|
|
}
|
|
console.log('Schéma de base de données créé avec succès')
|
|
db.close()
|
|
})
|