“Erreur générale: 1005 ne Pouvez pas créer de table” à l'Aide de Laravel Schéma de Construire et les Clés Étrangères

Essentiellement, je vais avoir le même problème que ce gars-là, moins le préfixe de la table. Parce que je n'ai pas de préfixe de la table, sa solution ne fonctionne pas. http://forums.laravel.com/viewtopic.php?id=972

Je suis en train de construire un tableau à l'aide de Laravel du Générateur de Schéma comme ceci:

Schema::create('lessons', function($table)
{
    $table->increments('id');
    $table->string('title')->nullable();
    $table->string('summary')->nullable();
    $table->timestamps();
});

Schema::create('tutorials', function($table)
{
    $table->increments('id');
    $table->integer('author');
    $table->integer('lesson');
    $table->string('title')->nullable();
    $table->string('summary')->nullable();
    $table->string('tagline')->nullable();
    $table->text('content')->nullable();
    $table->text('attachments')->nullable();
    $table->timestamps();
});

Schema::table('tutorials', function($table)
{
    $table->foreign('author')->references('id')->on('users');
    $table->foreign('lesson')->references('id')->on('lessons');
});

Le problème est que quand j'exécute ce code (dans une installation /de route), j'obtiens l'erreur suivante:

SQLSTATE[HY000]: General error: 1005 Can't create table 'tutorials.#sql-2cff_da' (errno: 150)

SQL: ALTER TABLE `tutorials` ADD CONSTRAINT tutorials_author_foreign FOREIGN KEY (`author`) REFERENCES `users` (`id`)

Bindings: array (
)

Basé sur des postes à travers le web et le peu de documentation disponible sur la façon de installation Laravel est Éloquent relations, je ne suis pas sûr de ce que je fais mal...

users existe déjà et il ne ont un id champ auto_increment. Je suis également la mise en place de mes modèles avec les bonnes relations (belongs_to et has_many), mais aussi loin que je peux dire c'est pas la question, c'est la configuration de base de données. La DB est InnoDB.

Exactement ce que je fais mal avec la clé étrangère?

InformationsquelleAutor Andrew M | 2012-08-10