2011-07-06 2 views
0

私はSqlalchemy&Pylons:以前に定義したデータベースに新しいテーブルを追加しますか?

paster setup-app development.ini 

、データベース・ファイルを生成する(すなわちmydatabase.db)を実行して、パイロンでテーブルを作成言います。後でモデルを変更してテーブルや列を増やしてみましょう。古いデータがまだ保存され、アクセス可能であることを確認するにはどうすればよいですか?古いデータベースを移行する必要がありますか?これはどのように機能しますか?

答えて

1

新しいテーブルを追加する限り、既存のテーブルに触れることなく新しいテーブルを作成するだけでシームレスに動作するはずです。ただし、既存のテーブルスキーマを変更する(たとえば、新しい列を追加する)場合は、DBスキーマを手動で更新するか、そのテーブルを削除または名前を変更してpaster setup-app development.iniを実行して再作成する必要があります。

通常私が変更された表の名前を変更し、新しいクリーンなテーブルを作成し、そのようなものを使用してデータをコピーするために、セットアップ・アプリケーションを実行します。

INSERT INTO some_table (col1, col2, col3) SELECT (col1, col2, col3) FROM some_table_old

+1

だけ補完は、[SQLAlchemyの-移行]を使用することができます( http://code.google.com/p/sqlalchemy-migrate/)を自動更新します。 – renatopp

+1

私はrenatopp sqlalchemy-migrateに賛同する方がはるかに良い解決策です – webjunkie

関連する問題