Как изменить тип существующего объекта в Geddy?Как изменить тип свойства в Geddy
Я считаю, что нужно изменить тип, как набор при определении свойств в файле модели:
this.defineProperties({
title: {type: 'string', required: true},
description: {type: 'text'},
status: {type: 'boolean'}
});
Я также думаю, что мне нужно изменить таблицу в миграции. Я использую функцию «» changeColumn как описано здесь http://geddyjs.org/guide#models
var StatusToBoolean = function() {
this.up = function (next) {
this.changeColumn("step", 'status', 'boolean', function (err, data) {
if (err) { throw err; }
next();
});
};
this.down = function (next) {
this.changeColumn('step', 'status', 'string', function (err, data) {
if (err) { throw err; }
next();
});
};
};
exports.StatusToBoolean = StatusToBoolean;
Однако, когда я запускаю эту миграцию я получаю «SQLITE_ERROR: возле„ALTER“» Ошибка:
Hindenburg:to_do Tom$ geddy jake db:migrate --trace
Running migrations for development environment...
Running status_to_boolean (up)
jake aborted.
Error: SQLITE_ERROR: near "ALTER": syntax error
Hindenburg:to_do Tom$
Это делает меня Думаю, я делаю что-то неправильно. Я попробовал параметр «--trace» (как вы можете видеть), но это не дало никакой полезной информации.
Я также подозреваю, что мне нужно фактически изменить некоторые данные в таблице (чтобы он мог сопоставляться с новым типом данных), но документация неясно, как это сделать.
Любая помощь приветствуется. Благодарю.
Действительно, это действительно проблема. Похоже, я должен уметь обойти проблему, модифицируя все данные в этом столбце от текущего значения до «true» или «false» или того, что Geddy придерживается в столбцах, которые он создает как «booleans». –