Ошибка:
New posessed domain:
{ name: 'ba.ru', free_date: '2015.08.01' }
Error: SQLITE_ERROR: near ")": syntax error
at Error (native)
^C
Причина:
Я еще не знаю. Код прост как две берёзы. Получить там ошибку нереально. По причине столь всеобъемлющей тупопёздности происходящего, я даже пост начинаю писать прежде, чем собственно разбираться с проблемой. Посмотрим же на код:
module.exports.test5 = ->
sleep = require 'co-sleep'
domainpicker = require './func/lib/domainpicker.coffee'
# Проверять свободность доменных имён.
# Get last domains
db = yield @app.mvc.model.sqlite.connect()
lastdomain = yield db.all(
"""
SELECT
*
FROM
domainschecklist
ORDER BY
id DESC
LIMIT
1
"""
)
lastdomain = if lastdomain[0]? then lastdomain.domainname else "aa.ru"
domainpicker = domainpicker(lastdomain)
loop
domaininfo = yield domainpicker.fetch_next_domain_info()
if domaininfo.free_date?
console.log "New posessed domain:"
console.log domaininfo
yield db.run(
"""
INSERT INTO
domainschecklist(domainname,expiresdate)
VALUES
(
"#{domaininfo.name}",
"#{domaininfo.free_date}",
)
"""
)
yield sleep(1000)
else
break
console.log "New free domain is:"
console.log domaininfo
Посмотрели? Ок. Теперь посмотрим что же у нас за запрос передается в базу.
if domaininfo.free_date?
console.log "New posessed domain:"
console.log domaininfo
sql =
"""
INSERT INTO
domainschecklist(domainname,expiresdate)
VALUES
(
"#{domaininfo.name}",
"#{domaininfo.free_date}",
)
"""
console.log sql
yield db.run(sql)
Результат выполнения:
New posessed domain:
{ name: 'ba.ru', free_date: '2015.08.01' }
INSERT INTO
domainschecklist(domainname,expiresdate)
VALUES
(
"ba.ru",
"2015.08.01",
)
Error: SQLITE_ERROR: near ")": syntax error
at Error (native)
Итоги:
Лишняя запятая. Лишняя, блядь, запятая. Лишняя запятая. Пиздец. Запятая лишняя. Это пиздец. Это дно. XXI век фокс. На запятые дрочим. Космос, блядь. Ракеты, блядь. Полет мысли. Ага. Запятых отсыпать? И ведь подобный онанизм иногда ещё яростно защищают. Я уже забыл, что за код я писал. Я забыл вообще блядь вс��. Я же запятые, блядь, не там поставил, какое преступление против человечества.