Ticket #2080 (closed enhancement: fixed)

Opened 9 years ago

Last modified 8 years ago

c_bookmark.r_datetime が varchar 型になっている

Reported by: pnetan Assigned to: shingo
Priority: minor Milestone: OpenPNE2.13.3
Component: その他 Version: 2.14.x
Keywords: Cc:

Description (Last modified by kudo)

■原因

setup/sqlにある各インストール用のsqlファイル(install-2.13.*-create_tables.sql)のc_bookmark.r_datetimeがvarchar型になっていた為。

■修正内容

各DBMS用のupdateフォルダにupdate02-for2.13.3-alter-c_bookmark-change-column-r_datetime.sqlを作成し、varchar型からdatetime型(timestamp型)に変更するSQL文を記述した。

■関連情報

元のDescription

http://sns.openpne.jp/?m=pc&a=page_fh_diary&target_c_diary_id=15742」より転記

内容

c_bookmark:r_datetime
c_review  :release_date

のデータ型が

varchar(100)


になってますねぇ・・・・

datetime型の誤りでしょうね・・

Change History

03/12/08 14:47:23 changed by pnetan

  • component changed from 指定しない to その他.

03/13/08 18:21:44 changed by kiwa

  • priority changed from minor to major.

03/13/08 22:50:00 changed by kiwa

  • owner changed from nobody to ebihara.

開発チームがわに判断をお願いしたいです。

05/15/08 17:37:09 changed by ogawa

  • version changed from 2.8.x & 2.10.x & 2.11.x to 2.10.x & 2.12.x & 2.13.x.

05/16/08 14:39:04 changed by ebihara

  • keywords deleted.
  • version changed from 2.10.x & 2.12.x & 2.13.x to 2.13.x.
  • milestone set to OpenPNE2.13.1.

DB変更を伴う修正項目なので、開発版のみの対応となります(ただしOpenPNE2.12.xはbetaが出ているので、OpenPNE2.13以降でしか対応できません)。

06/11/08 15:56:51 changed by ebihara

  • summary changed from datatime型の部分がvarchar型になっている to datetime型の部分がvarchar型になっている.

06/11/08 15:58:07 changed by ebihara

  • owner changed from ebihara to nobody.

06/11/08 15:59:33 changed by ebihara

  • priority changed from major to minor.

06/11/08 22:47:40 changed by ebihara

  • owner changed from nobody to ebihara.
  • status changed from new to assigned.
  • summary changed from datetime型の部分がvarchar型になっている to c_bookmark.r_datetime が varchar 型になっている.

06/11/08 22:54:58 changed by ebihara

  • owner changed from ebihara to nobody.
  • status changed from assigned to new.
  • milestone changed from OpenPNE2.13.1 to OpenPNE2.13.2.

08/27/08 18:25:37 changed by kiwa

  • milestone changed from OpenPNE2.13.2 to OpenPNE2.13.3.

09/11/08 19:07:48 changed by ebihara

  • version changed from 2.13.x to 2.10.x & 2.12.x & 2.13.x.
  • type changed from defect to enhancement.

09/18/08 10:57:21 changed by shingo

  • owner changed from nobody to shingo.
  • status changed from new to assigned.

修正します。 

09/19/08 06:58:58 changed by shingo

  • keywords set to 確認中.
  • version changed from 2.10.x & 2.12.x & 2.13.x to 2.13.x.
  • description changed.

以下のリビジョンで修正しました。ご確認ください。

09/22/08 12:09:36 changed by ebihara

  • keywords changed from 確認中 to 差し戻し.
  • setup/sql/*/install 以下の SQLファイル はリリース直前に以下の手順によって生成するので、ここでの追加は不要です。削除してください。
    1. DBを作成し、以前のバージョンの setup/sql/*/install 以下の SQL を実行
    2. setup/sql/*/update 以下の、バージョンアップのために実行しなければならない SQL を実行
    3. DBをダンプ
    4. 生成されたSQLの微調整
  • Description に記述されている「DBサーバ」という表現は適切ではないです。この場合、 RDBMS というのが正しいような気がしますがどうでしょうか。

09/22/08 14:14:24 changed by shingo

  • description changed.

Description に記述を変更しました。

以下のリビジョンで修正前の状態に戻しました。

09/22/08 14:21:18 changed by shingo

  • keywords changed from 差し戻し to 確認中.

以下のリビジョンで再修正しました。ご確認ください。

09/22/08 14:47:11 changed by ebihara

  • keywords changed from 確認中 to 差し戻し.
  • MySQL 用の SQL ファイルの型が大文字です。ダンプされたSQLの場合、型は小文字になるので統一してください
  • PostgreSQL7.4.3 環境で実行した場合、以下のエラーが出てしまいます
    psql:pg_trunk/setup/sql/postgres74/update/update02-for2.13.3-alter-c_bookmark-change-column-r_datetime.sql:1: ERROR:  adding columns with defaults is not implemented
    HINT:  Add the column, then use ALTER TABLE SET DEFAULT./update/update02-for2.13.
    psql:pg_trunk/setup/sql/postgres74/update/update02-for2.13.3-alter-c_bookmark-change-column-r_datetime.sql:2: ERROR:  column "r_datetime" does not exist
    psql:pg_trunk/setup/sql/postgres74/update/update02-for2.13.3-alter-c_bookmark-change-column-r_datetime.sql:3: ERROR:  column "r_datetime" of relation "c_bookmark" does not exist
    psql:pg_trunk/setup/sql/postgres74/update/update02-for2.13.3-alter-c_bookmark-change-column-r_datetime.sql:4: ERROR:  column "after_field" does not exist
    
    同様の問題にぶつかった際にブログにエントリを書き残しておいたので参考にしてください。 http://d.hatena.ne.jp/co3k/20080710/1215685271

09/22/08 16:18:53 changed by shingo

  • keywords changed from 差し戻し to 確認中.

以下のリビジョンで再修正しました。ご確認ください。

09/26/08 14:15:59 changed by ebihara

  • keywords changed from 確認中 to 差し戻し.

PostgreSQL7.4.3 環境で実行した場合、以下のエラーが出てしまいます。

ERROR:  syntax error at or near "default" at character 49
ERROR:  syntax error at or near "NOT" at character 49
ERROR:  column "r_datetime" does not exist
ERROR:  column "r_datetime" of relation "c_bookmark" does not exist

comment:18 で提示したエントリや、PostgreSQL のマニュアルにおいて記述するよう明記されているSET句がないものと思われます。

参考:http://www.postgresql.jp/document/pg746doc/html/sql-altertable.html

09/26/08 18:38:09 changed by shingo

  • keywords changed from 差し戻し to 確認中.

以下のリビジョンで comment:20 にあげられた事項について修正しました。 ご確認ください。

09/26/08 19:03:58 changed by ebihara

  • keywords changed from 確認中 to テスト待ち.

09/26/08 22:05:12 changed by kiwa

  • keywords deleted.
  • status changed from assigned to closed.
  • resolution set to fixed.

以下の環境で確認しました。問題ありません。

  • PostgreSQL 7.4.19
  • PostgreSQL 8.3.3
  • MySQL 5.2

05/25/09 14:29:58 changed by kudo

  • description changed.