-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathcreate-table.js
38 lines (35 loc) · 1.05 KB
/
create-table.js
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
26
27
28
29
30
31
32
33
34
35
36
37
38
var mysql = require('mysql');
var secrets = require('./secrets');
var connection = mysql.createConnection(secrets.db);
var sql_drop_table = `DROP TABLE IF EXISTS sudoku`;
var sql_create_table = `CREATE TABLE sudoku (
id int(11) NOT NULL AUTO_INCREMENT,
puzzle char(81) NOT NULL,
solution char(81) NOT NULL,
clues tinyint(1) NOT NULL,
difficulty decimal(3, 1) DEFAULT NULL,
PRIMARY KEY(id),
KEY clues_idx(clues),
KEY diff_idx(difficulty)
)`;
connection.beginTransaction(function (err) {
connection.query(sql_drop_table,
function (error, results, fields) {
if (error) throw error;
}
);
connection.query(sql_create_table,
function (error, results, fields) {
if (error) throw error;
}
);
connection.commit(function (error) {
if (error) {
connection.rollback(function () {
throw error;
});
}
console.log('Sudoku table created.');
connection.end();
});
});