0

CakePHP でデータベーステーブルの 1 つのスキーマを変更するにはどうすればよいですか? 新しいスキーマには、テーブルに追加される新しい列と、いくつかの列名の変更が含まれます。使ってみました

cake schema update <mytable>

しかし、私は常にこのエラーが発生します:

Warning: <span style="color:Red;text-align:left"><b>SQL Error:</b> 1060: Duplicate column name 'contact_id'</span> in C:\wamp\www\tests\cake\libs\model\datasources\dbo_source.php on line 684

何か助けてください。

4

1 に答える 1

0

どのデータベースを使用しているかは言わないので、MySQL だと思います。

テーブルを変更する (列を追加または削除する) 場合は、テーブル編集用の使いやすい GUI を備えたデスクトップ アプリケーションであるMySQL Query Browserを使用します。何らかの理由でそれを使用できない場合は、ホスティング サービスがphpMyAdminのような Web アプリケーションを提供している可能性があります。これにより、SQL をあまり知らなくてもテーブルを編集することもできます。

テーブルに必要なスキーマが作成された後、CakePHP がテーブルが変更されたことを認識していないように思われる場合は、app/tmp/cacheフォルダーに移動し、そこにある 3 つのサブフォルダーの内容を削除します (ただし、問題が発生することがあるため、サブフォルダー自体は削除しません)。

明らかに、コードに存在しなくなった列への参照が含まれている場合は、それを編集する必要があります。そうでなければ、すべてがうまくいくはずです。

于 2012-05-07T21:15:43.390 に答える