Php 现有数据库与laravel迁移同步

Php 现有数据库与laravel迁移同步,php,laravel,Php,Laravel,我使用mysql workbench设计了一个数据库并进行了同步,然后我的mysql数据库存在@phpmyadmin。那么我如何将这个数据库与laravel一起使用。。我的意思是我需要为现有数据库创建迁移文件并继续编辑 您应该编写迁移文件,这样您的模式就可以从零开始构建,而无需手动干预。但是,如果您不能或不想这样做,您可以从所需的位置开始迁移: php artisan make:migration blablabla 编写新的架构并执行以下操作: php artisan migrate 等等

我使用mysql workbench设计了一个数据库并进行了同步,然后我的mysql数据库存在@phpmyadmin。那么我如何将这个数据库与laravel一起使用。。我的意思是我需要为现有数据库创建迁移文件并继续编辑

您应该编写迁移文件,这样您的模式就可以从零开始构建,而无需手动干预。但是,如果您不能或不想这样做,您可以从所需的位置开始迁移:

php artisan make:migration blablabla
编写新的架构并执行以下操作:

php artisan migrate
等等。

你可以把这个包裹寄给我吗

  • 将其包括在项目中(通过composer或直接下载到供应商文件夹),并配置服务提供商
  • 运行:
    php artisan migrate:generate
    为当前数据库中的所有表生成迁移。要生成特定表的迁移,请运行php artisan migrate:generate table1、table2、table3、table4、table5

  • 在开发阶段,您可以使用:

    通过使用:

    php artisan migrate:sync
    

    但我不建议将其用于生产,因为您无法跟踪迁移更改

    我的情况如下:

    • 我在database/migrations文件夹中有数百个迁移类
    • 我的类已经迁移了,但在某个时候我导入了一个旧的 我的迁移表的版本是偶然的
    • 我的迁移表的记录比我的类少
    在尝试了所有方法之后,我决定多走一英里,然后像这样解决我的问题:

    我在临时控制器中创建了一个方法。基本上,它会检查database/migrations文件夹中的所有迁移类,然后检查它们是否存在于migrations表中。如果没有,请将它们插入表中。从浏览器调用该方法,现在所有内容都已同步

     public function syncMigration(){
            $migrations_folder = database_path('migrations');
            $filesInFolder = File::files($migrations_folder);
            $lastMigration = DB::table('migrations')->orderBy('batch', 'desc')->limit(1)->first();
            var_dump($lastMigration);
    
            $batch = $lastMigration->batch +1;
    
    
            foreach($filesInFolder as $path) {
                $file = pathinfo($path);
                $migration = DB::table('migrations')->where('migration', $file['filename'])->first();
                if(!$migration){
                    DB::table('migrations')->insert(
                        [
                            'migration' => $file['filename'],
                            'batch' => $batch
                        ]
                    );
                }
            }
        }
    

    您不需要迁移。只需导入现有数据库的sql转储,并从此点开始使用迁移。除非您计划使用播种机,否则迁移是必须的。我需要将现有数据库@phpmyadmin与laravel迁移文件同步。。。。有可能吗。。如果有一种方法可以导入我的sql文件,我该怎么做呢。没有人能解释。。。没有人能理解laravel文档中的任何解释。请解释一下为什么不能将导出的sql文件从phpmyadmin导入到laravel?想想。。我的项目
    数据库->迁移
    中没有任何迁移模式,但我有一个运行@
    localhost->phpmyadmin
    的数据库,然后我需要根据该数据库表生成迁移模式。。示例:-我有一个名为
    new_table
    的表,它有两个字段
    id
    name
    ,之后我使用
    php artisan make:migration new_table
    继续创建了一个迁移文件。。。。。然后我有一个
    数据库->迁移->2016\u 01\u 28\u 045837\u新的\u表
    但是架构是空的,我如何才能将我的数据库表字段放入这个迁移文件中。。。是否有可能…不需要逐个执行每个迁移代码。。。是否可以将现有数据库表同步到迁移文件中。。。。。。