Yii 1.1でのマイグレーションの作成方法とエラーの解決方法


  1. マイグレーションの作成方法:

    • yiicコマンドを使用して、マイグレーションを作成します。ターミナルで以下のコマンドを実行します:
      yiic migrate create migration_name

      migration_nameは、作成するマイグレーションの名前です。このコマンドを実行すると、新しいマイグレーションファイルがprotected/migrationsディレクトリに作成されます。

  2. マイグレーションファイルの編集:

    • 作成されたマイグレーションファイルをテキストエディタで開き、upメソッドとdownメソッドを編集します。
    • upメソッドには、データベースのスキーマの変更や更新を記述します。例えば、新しいテーブルの作成や既存のテーブルのカラムの追加などです。
    • downメソッドには、upメソッドで行った変更を元に戻す処理を記述します。
  3. マイグレーションの実行:

    • 以下のコマンドを使用して、マイグレーションを実行します:
      yiic migrate

      このコマンドを実行すると、protected/migrationsディレクトリにある未適用のマイグレーションファイルが順番に実行されます。

  4. よく発生するエラーと解決方法:

    • エラー: "Table 'xyz' already exists" 解決方法: マイグレーションファイル内で既に存在するテーブルを作成しようとしている可能性があります。テーブルが既に存在する場合は、upメソッド内の該当するコードをコメントアウトするか、テーブルの作成をスキップするように修正します。

    • エラー: "Unknown column 'xyz' in table 'abc'" 解決方法: マイグレーションファイル内で存在しないカラムを使用しようとしている可能性があります。カラムが存在しない場合は、upメソッド内の該当するコードを修正するか、カラムの追加を行います。

    • エラー: "Syntax error or access violation: xyz" 解決方法: マイグレーションファイル内のSQL文に構文エラーがある可能性があります。SQL文を再確認し、正しい文法に修正します。

以上が、Yii 1.1でのマイグレーションの作成方法とエラーの解決方法です。これらの手順とコード例を参考に、データベースのスキーマ変更をスムーズに行うことができます。