12

私たちが開発しているアプリにSailsを使用することを考えていました。

私はウォーターラインormを使用するsails-postgresqlアダプターを使用しています。

接続したい既存のデータベースがあります。

を使用してモデルを作成する場合generate something

そして、私のモデルでは

attributes:{
    title:{type:'String'}
}

localhost/something を参照すると、orm はsomethingテーブル内のタイトルを除くすべての列を削除します。

これをやめる方法はありますか?このアプリは、このデータベースの列を削除すべきではありません。

ありがとう!

4

1 に答える 1

26

私は Sails-Postgresql の作成者です。Sails には、データの管理に使用する Waterline という ORM があります。auto-migrateデフォルト設定では、データベースをモデル属性と一致させたいと想定しています。Postgresql は SQL データベースであるため、Sails-Postgresql アダプタには syncable という設定があり、デフォルトで true に設定されています。これは、redis のような NoSQL データベースでは当てはまりません。

データベースの列を自分で管理したい場合、これは簡単にオフにできます。モデルに追加できmigrate: safeますが、Sails の起動時にデータベース スキーマを更新しようとしません。

module.exports = {
  adapter: 'postgresql',
  migrate: 'safe',
  attributes: {
    title: { type: 'string' }
  }
};

Sails には、Rails のマイグレーションのようなものはありません。自動移行を使用して開発プロセスからこれを削除しようとし、本番スキーマの更新をユーザーに任せます。

于 2013-06-20T00:38:53.947 に答える