0

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: near "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」オプションを試しましたが (ご覧のとおり)、役立つ情報は得られませんでした。

また、(新しいデータ型にマップできるように) テーブル内のデータの一部を実際に変更する必要があるのではないかと思いますが、ドキュメントではその方法が不明です。

どんな助けでも大歓迎です。ありがとう。

4

1 に答える 1