Tengo una aplicación web con mongodb, usando el paquete jenssegers.
Como estoy usando mongodb, ¿necesito crear alguna tabla de migración? El controlador de la base de datos de Jenssegers también tiene compatibilidad (limitada) con el generador de esquemas
Schema::create('users', function($collection) { $collection->index('name'); $collection->unique('email'); });Encontré dos "respuestas" diferentes. Este chico está usando el generador de esquemas
Y el Mulkave responde:
P : "Cuando ejecuto el comando 'php migrar artesanalmente', aparece el siguiente error en el que se crea una tabla de migración en la base de datos mongodb:"
R : " Es posible que haya malinterpretado el propósito de que MongoDB sea una base de datos de documentos, no necesita tener migraciones en bases de datos basadas en documentos y esto es lo que son buenos . Tienen esquemas dinámicos, así que todo lo que tendrá que hacer es guardar su modelo independientemente de los atributos que tenga, lo que significa que tendrá que ajustar la lógica comercial de su aplicación para asegurarse de que los modelos se guarden como esperaba".
Entonces, ¿necesito la tabla de migraciones? ¡Gracias!
Sé que esto es un poco tarde, pero pensé en incluir un poco de código aquí. Me gusta tener un modelo indexado por dos razones:
Entonces, para la persona que lee esto, si lo convencí con este argumento no verificado y desea configurar un esquema, descubrí que es fácil configurar la colección pero no es fácil descartarla. Si desea realizar una migración completa ( tenga en cuenta que perderá todos sus datos cuando haga esto ), puede usar el siguiente código:
<?php use Illuminate\Support\Facades\Schema; use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration; class CreateYourCollectionTable extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::connection('mongodb')->create('collection_name', function ($collection) { $collection->index('field_1'); $collection->index('field_2'); }); } /** * Reverse the migrations. * * @return void */ public function down() { DB::connection('mongodb')->drop(['collection_name']); } }