Djangoチームが推奨しているため、今日、postgresqlへの最初のステップを開始しました。
いくつかの問題に出くわしましたが、1 つずつ辛抱強く解決しました。
1) postgresql の下にテーブルを作成するには、別の OS ログインとしてログインする必要があり、パスワードさえわからない。解決策を見つけて、データベースを作成しました。
2) syncdb を実行した後、次のような単純な挿入 SQL を単純に実行することはできません。
INSERT INTO App_contacttype (contact_type, company_id) VALUES ('Buyer', 1),('Seller', 1);
Django は引用符を付けて作成するため、テーブルでは大文字と小文字が区別されるため、次のようにする必要があります。
INSERT INTO "App_contacttype" (contact_type, company_id) VALUES ('Buyer', 1),('Seller', 1);
しかし、問題は決して終わらないようです。今突然挿入スクリプトの実行は言う
ERROR: value too long for type character varying(40)
SQL state: 22001
MySQL では、これは問題ありませんでした。わかりませんが、今は少し足が冷えています。おそらく、MySQL に固執する必要があります。
私が postgresql を検討していた唯一の理由は、postgresql が MySQL よりも途中でスキーマを変更するためのサポートがはるかに優れていることを示唆する調査があったからです。
ただし、http: //south.aeracode.org/ を使用するとスキーマを同期する手間がすべて取り除かれると考えると、基礎となるデータベースが何であれ、スキーマの変更について心配する必要さえあるのでしょうか?