[转] laravel 的 模型 和 migration

参考文档:
http://www.golaravel.com/laravel/docs/5.0/migrations/
http://blog.hsin.tw/2015/laravel-5-note05-migrations/

通过命令行创建

1. 使用模型建立, 适用于没有数据表

这里适用的是没有数据表, 同时也没有模型, 这样创建模型时候便创建了一个 需要迁移的文件, 可以使用 artisan 命令来执行 迁移

1
2
3
$ php artisan make:model models\Article
Model created successfully.
Created Migration: 2015_03_25_232010_create_articles_table

这里使用的表创建的内容是复数形式的

2. 使用手动建立

以上建立的数据表是复数形式的, 所以可能不需要复数形式的数据表

可以使用 --no-migration 来禁止生成迁移文件, 然后再自动生成一个针对于指定数据表的迁移文件.

1
2
$ php artisan make:model models\Page --no-migration
Model created successfully.

以下命令生成了一个迁移文件, create 来创建

1
2
$ php artisan make:migration create_page_table --create=page
Created Migration: 2015_03_25_232934_create_page_table

如果是新建立一个更新的文件我们使用

1
2
$ php artisan make:migration add_ip_to_page_table --table=page
Created Migration: 2015_03_25_233227_add_ip_to_page_table

[转]将 MySQL Workbench 中已存在的数据表导出到 Laravel 迁移文件

原文地址: 将 MySQL Workbench 中已存在的数据表导出到 Laravel 迁移文件
今天我们接着介绍如何从 MySQL Workbench 中将已存在的数据表导出。
MySQL Workbench 是 MySQL 官方提供的跨平台 MySQL 客户端图形化操作软件,Brandon Eckenrode 为我们创建了一个插件,通过该插件我们可以将 MySQL Workbench 的模型导出为遵循 PSR-2 编码规范的 Laravel 迁移文件。在导出过程中,每个迁移文件会被生成并保存为名称与之相应的迁移文件。
要实现这一功能,我们需要从 Github(https://github.com/beckenrode/mysql-workbench-export-laravel-5-migrations)上下载这个插件,然后打开 MySQL Workbench,进入 Scripting 菜单,点击Install Plugin/Module,然后选择从 Github 项目下载下来的export-laravel-5-migrations.py文件,弹出安装成功的提示之后重启 MySQL Workbench。

选择File->New Model创建一个新表table_test,为该表添加一些基本的表结构,然后进入Tools菜单,选择Catalog->Export Laravel 5 Migration导出数据表到 Laravel 迁移文件:

这样会弹出一个确认窗口:

我们可以选择将其保存到指定目录。这样我们就可以一边在 MySQL Workbench 中创建数据表,一边生成 Laravel 迁移文件,两不耽误。
不过两者相比还是 Sequel Pro 导出功能更方便,更强大一些。

[转] 将 Sequel Pro 中已存在的数据表导出为 Laravel 迁移文件

原文地址: 将 Sequel Pro 中已存在的数据表导出为 Laravel 迁移文件

Laravel 开发者来说,主要有两种方式创建数据表,一种是通过 MySQL 客户端工具,比如 Sequel Pro(Mac 环境下比较流行的 MySQL 客户端软件),另一种是通过 Laravel 提供的 Artisan 命令生成迁移文件。
如果之前的项目不是通过 Laravel 构建的,现在要迁移到 Laravel,或者之前不是通过迁移文件生成的数据表,想要将已存在的数据表转化为 Laravel 迁移文件怎么办,由 Colin Viebrock 为 Sequel Pro 开发的Laravel 迁移导出工具为我们提供了方便。
我们从 github(https://github.com/cviebrock/sequel-pro-laravel-export)将代码克隆本地:

1
git clone https://github.com/cviebrock/sequel-pro-laravel-export.git

然后进入项目目录,双击ExportToLaravelMigration.spBundle文件,接下来在打开的页面连接到数据库,在左侧选中一张数据表,在菜单栏选择Bundles › Export › Export将数据表导出为迁移文件(或者使用快捷命令⌃⌥⌘M):

这样就会将选中数据表转化为 Laravel 数据库迁移文件并存放在桌面,比如我选中的是users表,对应的迁移文件是2016_11_20_212052_create_users_table.php,文件内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
/**
* Migration auto-generated by Sequel Pro Laravel Export
* @see https://github.com/cviebrock/sequel-pro-laravel-export
*/
class CreateUsersTable extends Migration {
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->string('name', 255);
$table->string('email', 255);
$table->string('password', 255);
$table->rememberToken();
$table->nullableTimestamps();
$table->unique('email', 'users_email_unique');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('users');
}
}

我们可以将其拷贝到 Laravel 项目的数据库迁移目录,以便后续使用该文件进行后续操作。


原文地址 : [转] laravel 的 模型 和 migration
本站是作者语雀文档的镜像站, 如对文章有任何疑问请移步语雀进行 提问

作者

Duoli

发布于

2022-04-20

更新于

2022-08-24

许可协议

评论