I’m trying to configure pimatic with MySQL database. I have properly modified config.json and pimatic is able to connect to db.
I think the problem come when pimatic try to create tables.
If I run pimatic with no tables in database, pimatic refuse to launch showing this message :
12:40:25.654 2015-06-16 Tuesday
12:40:46.772 [pimatic] Starting pimatic version 0.8.73
12:40:52.473 [pimatic] Startup error: Error: ER_NO_SUCH_TABLE: Table 'pimatic.deviceAttribute' doesn't exist
12:40:52.473 [pimatic]> at Query.Sequence._packetToError (/home/pi/pimatic-app/node_modules/mysql/lib/protocol/sequences/Sequence.js:48:14)
12:40:52.473 [pimatic]> at Query.ErrorPacket (/home/pi/pimatic-app/node_modules/mysql/lib/protocol/sequences/Query.js:83:18)
12:40:52.473 [pimatic]> at Protocol._parsePacket (/home/pi/pimatic-app/node_modules/mysql/lib/protocol/Protocol.js:271:23)
12:40:52.473 [pimatic]> at Parser.write (/home/pi/pimatic-app/node_modules/mysql/lib/protocol/Parser.js:77:12)
12:40:52.473 [pimatic]> at Protocol.write (/home/pi/pimatic-app/node_modules/mysql/lib/protocol/Protocol.js:39:16)
12:40:52.473 [pimatic]> at Socket.<anonymous> (/home/pi/pimatic-app/node_modules/mysql/lib/Connection.js:96:28)
12:40:52.473 [pimatic]> at Socket.EventEmitter.emit (events.js:95:17)
12:40:52.473 [pimatic]> at Socket.<anonymous> (_stream_readable.js:746:14)
12:40:52.473 [pimatic]> at Socket.EventEmitter.emit (events.js:92:17)
12:40:52.473 [pimatic]> at emitReadable_ (_stream_readable.js:408:10)
12:40:52.473 [pimatic]> at emitReadable (_stream_readable.js:404:5)
12:40:52.473 [pimatic]> at readableAddChunk (_stream_readable.js:165:9)
12:40:52.473 [pimatic]> at Socket.Readable.push (_stream_readable.js:127:10)
12:40:52.473 [pimatic]> at TCP.onread (net.js:526:21)
12:40:52.473 [pimatic]> --------------------
12:40:52.473 [pimatic]> at Protocol._enqueue (/home/pi/pimatic-app/node_modules/mysql/lib/protocol/Protocol.js:135:48)
12:40:52.473 [pimatic]> at Connection.query (/home/pi/pimatic-app/node_modules/mysql/lib/Connection.js:201:25)
12:40:52.473 [pimatic]> at /home/pi/pimatic-app/node_modules/pimatic/node_modules/knex/lib/dialects/mysql/runner.js:42:16
12:40:52.473 [pimatic]> at tryCatcher (/home/pi/pimatic-app/node_modules/pimatic/node_modules/bluebird/js/main/util.js:24:31)
12:40:52.473 [pimatic]> at Promise._resolveFromResolver (/home/pi/pimatic-app/node_modules/pimatic/node_modules/bluebird/js/main/promise.js:439:31)
12:40:52.473 [pimatic]> at new Promise (/home/pi/pimatic-app/node_modules/pimatic/node_modules/bluebird/js/main/promise.js:53:37)
12:40:52.473 [pimatic]> at Runner_MySQL.<anonymous> (/home/pi/pimatic-app/node_modules/pimatic/node_modules/knex/lib/dialects/mysql/runner.js:41:10)
12:40:52.473 [pimatic]> at Runner_MySQL.tryCatcher (/home/pi/pimatic-app/node_modules/pimatic/node_modules/bluebird/js/main/util.js:24:31)
12:40:52.473 [pimatic]> at Runner_MySQL._query (/home/pi/pimatic-app/node_modules/pimatic/node_modules/bluebird/js/main/method.js:15:34)
12:40:52.473 [pimatic]> at Runner_MySQL.<anonymous> (/home/pi/pimatic-app/node_modules/pimatic/node_modules/knex/lib/runner.js:125:15)
12:40:52.473 [pimatic]> at Runner_MySQL.tryCatcher (/home/pi/pimatic-app/node_modules/pimatic/node_modules/bluebird/js/main/util.js:24:31)
12:40:52.473 [pimatic]> at Runner_MySQL.query (/home/pi/pimatic-app/node_modules/pimatic/node_modules/bluebird/js/main/method.js:15:34)
12:40:52.473 [pimatic]> at Runner_MySQL.<anonymous> (/home/pi/pimatic-app/node_modules/pimatic/node_modules/knex/lib/runner.js:131:38)
12:40:52.473 [pimatic]> at Runner_MySQL.tryCatcher (/home/pi/pimatic-app/node_modules/pimatic/node_modules/bluebird/js/main/util.js:24:31)
12:40:52.473 [pimatic]> at Runner_MySQL.queryArray (/home/pi/pimatic-app/node_modules/pimatic/node_modules/bluebird/js/main/method.js:15:34)
12:40:52.473 [pimatic]> at Runner_MySQL.<anonymous> (/home/pi/pimatic-app/node_modules/pimatic/node_modules/knex/lib/runner.js:44:21)
12:40:52.473 [pimatic]> at Runner_MySQL.tryCatcher (/home/pi/pimatic-app/node_modules/pimatic/node_modules/bluebird/js/main/util.js:24:31)
12:40:52.473 [pimatic]> at Promise._settlePromiseFromHandler (/home/pi/pimatic-app/node_modules/pimatic/node_modules/bluebird/js/main/promise.js:466:31)
12:40:52.473 [pimatic]> at Promise._settlePromiseAt (/home/pi/pimatic-app/node_modules/pimatic/node_modules/bluebird/js/main/promise.js:545:18)
12:40:52.473 [pimatic]> at Async._drainQueue (/home/pi/pimatic-app/node_modules/pimatic/node_modules/bluebird/js/main/async.js:84:12)
12:40:52.473 [pimatic]> at Async._drainQueues (/home/pi/pimatic-app/node_modules/pimatic/node_modules/bluebird/js/main/async.js:89:10)
12:40:52.473 [pimatic]> at Async.drainQueues (/home/pi/pimatic-app/node_modules/pimatic/node_modules/bluebird/js/main/async.js:14:14)
12:40:52.473 [pimatic]> at process._tickCallback (node.js:415:13)
12:40:52.573 [pimatic] exiting...
After this first run, tables ‘deviceAttribute’ and ‘message’ are created in database.
When I relaunch pimatic, he gives me an other error message :
12:44:37.658 2015-06-16 Tuesday
12:44:59.041 [pimatic] Starting pimatic version 0.8.73
12:45:05.294 [pimatic] Startup error: Error: ER_DUP_FIELDNAME: Duplicate column name 'discrete'
12:45:05.294 [pimatic]> at Query.Sequence._packetToError (/home/pi/pimatic-app/node_modules/mysql/lib/protocol/sequences/Sequence.js:48:14)
12:45:05.294 [pimatic]> at Query.ErrorPacket (/home/pi/pimatic-app/node_modules/mysql/lib/protocol/sequences/Query.js:83:18)
12:45:05.294 [pimatic]> at Protocol._parsePacket (/home/pi/pimatic-app/node_modules/mysql/lib/protocol/Protocol.js:271:23)
12:45:05.294 [pimatic]> at Parser.write (/home/pi/pimatic-app/node_modules/mysql/lib/protocol/Parser.js:77:12)
12:45:05.294 [pimatic]> at Protocol.write (/home/pi/pimatic-app/node_modules/mysql/lib/protocol/Protocol.js:39:16)
12:45:05.294 [pimatic]> at Socket.<anonymous> (/home/pi/pimatic-app/node_modules/mysql/lib/Connection.js:96:28)
12:45:05.294 [pimatic]> at Socket.EventEmitter.emit (events.js:95:17)
12:45:05.294 [pimatic]> at Socket.<anonymous> (_stream_readable.js:746:14)
12:45:05.294 [pimatic]> at Socket.EventEmitter.emit (events.js:92:17)
12:45:05.294 [pimatic]> at emitReadable_ (_stream_readable.js:408:10)
12:45:05.294 [pimatic]> at emitReadable (_stream_readable.js:404:5)
12:45:05.294 [pimatic]> at readableAddChunk (_stream_readable.js:165:9)
12:45:05.294 [pimatic]> at Socket.Readable.push (_stream_readable.js:127:10)
12:45:05.294 [pimatic]> at TCP.onread (net.js:526:21)
12:45:05.294 [pimatic]> --------------------
12:45:05.294 [pimatic]> at Protocol._enqueue (/home/pi/pimatic-app/node_modules/mysql/lib/protocol/Protocol.js:135:48)
12:45:05.294 [pimatic]> at Connection.query (/home/pi/pimatic-app/node_modules/mysql/lib/Connection.js:201:25)
12:45:05.294 [pimatic]> at /home/pi/pimatic-app/node_modules/pimatic/node_modules/knex/lib/dialects/mysql/runner.js:42:16
12:45:05.294 [pimatic]> at tryCatcher (/home/pi/pimatic-app/node_modules/pimatic/node_modules/bluebird/js/main/util.js:24:31)
12:45:05.294 [pimatic]> at Promise._resolveFromResolver (/home/pi/pimatic-app/node_modules/pimatic/node_modules/bluebird/js/main/promise.js:439:31)
12:45:05.294 [pimatic]> at new Promise (/home/pi/pimatic-app/node_modules/pimatic/node_modules/bluebird/js/main/promise.js:53:37)
12:45:05.294 [pimatic]> at Runner_MySQL.<anonymous> (/home/pi/pimatic-app/node_modules/pimatic/node_modules/knex/lib/dialects/mysql/runner.js:41:10)
12:45:05.294 [pimatic]> at Runner_MySQL.tryCatcher (/home/pi/pimatic-app/node_modules/pimatic/node_modules/bluebird/js/main/util.js:24:31)
12:45:05.294 [pimatic]> at Runner_MySQL._query (/home/pi/pimatic-app/node_modules/pimatic/node_modules/bluebird/js/main/method.js:15:34)
12:45:05.294 [pimatic]> at Runner_MySQL.<anonymous> (/home/pi/pimatic-app/node_modules/pimatic/node_modules/knex/lib/runner.js:125:15)
12:45:05.294 [pimatic]> at Runner_MySQL.tryCatcher (/home/pi/pimatic-app/node_modules/pimatic/node_modules/bluebird/js/main/util.js:24:31)
12:45:05.294 [pimatic]> at Runner_MySQL.query (/home/pi/pimatic-app/node_modules/pimatic/node_modules/bluebird/js/main/method.js:15:34)
12:45:05.294 [pimatic]> at Runner_MySQL.<anonymous> (/home/pi/pimatic-app/node_modules/pimatic/node_modules/knex/lib/runner.js:131:38)
12:45:05.294 [pimatic]> at Runner_MySQL.tryCatcher (/home/pi/pimatic-app/node_modules/pimatic/node_modules/bluebird/js/main/util.js:24:31)
12:45:05.294 [pimatic]> at Runner_MySQL.queryArray (/home/pi/pimatic-app/node_modules/pimatic/node_modules/bluebird/js/main/method.js:15:34)
12:45:05.294 [pimatic]> at Runner_MySQL.<anonymous> (/home/pi/pimatic-app/node_modules/pimatic/node_modules/knex/lib/runner.js:44:21)
12:45:05.294 [pimatic]> at Runner_MySQL.tryCatcher (/home/pi/pimatic-app/node_modules/pimatic/node_modules/bluebird/js/main/util.js:24:31)
12:45:05.294 [pimatic]> at Promise._settlePromiseFromHandler (/home/pi/pimatic-app/node_modules/pimatic/node_modules/bluebird/js/main/promise.js:466:31)
12:45:05.294 [pimatic]> at Promise._settlePromiseAt (/home/pi/pimatic-app/node_modules/pimatic/node_modules/bluebird/js/main/promise.js:545:18)
12:45:05.294 [pimatic]> at Async._drainQueue (/home/pi/pimatic-app/node_modules/pimatic/node_modules/bluebird/js/main/async.js:84:12)
12:45:05.294 [pimatic]> at Async._drainQueues (/home/pi/pimatic-app/node_modules/pimatic/node_modules/bluebird/js/main/async.js:89:10)
12:45:05.294 [pimatic]> at Async.drainQueues (/home/pi/pimatic-app/node_modules/pimatic/node_modules/bluebird/js/main/async.js:14:14)
12:45:05.294 [pimatic]> at process._tickCallback (node.js:415:13)
12:45:05.402 [pimatic] exiting...
Could someone help me ? Thanks