首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用laravel将旧表迁移到新表

用laravel将旧表迁移到新表
EN

Stack Overflow用户
提问于 2017-07-07 01:26:18
回答 2查看 87关注 0票数 1

我有一个问题,需要将旧表迁移到新表。下面的旧表数据示例如下:

旧桌子(离开桌)

Id/T1581-1997发发User_id的原因

1

2

3

4

新表(休假表)

Id/T1581-1997发价User_id的原因

1-1

有什么方法可以迭代旧表并像新表一样存储吗?

29/01/2013 - 01/02/2013产生4行。新表需要1行开始日期和结束日期,其中29/01/2013为开始日期,01/02/2013为结束日期

我已经创建了新的表。我只想迭代旧表的列表,并将其插入到具有开始日期和结束日期的新表中。

EN

回答 2

Stack Overflow用户

发布于 2017-07-07 01:55:36

您可以将Date列重命名为Start Date,并添加新列End Date,如下所示,

代码语言:javascript
复制
Schema::table('users', function($table)
{
    $table->renameColumn('Date', 'Start Date');
    $table->dateTime('End Date');
});
票数 0
EN

Stack Overflow用户

发布于 2017-07-10 04:33:57

代码语言:javascript
复制
INSERT INTO new_table
    (user_id, reason, start_date, end_date)
    SELECT user_id, reason
           MIN(Date), MAX(Date)
        FROM old_table
        GROUP BY user_id, reason;

我忽略了id,假设它是AUTO_INCREMENT。但拥有PRIMARY KEY(user_id, reason)可能更有意义。

您没有说原始行是‘连续的’,也没有说同一个用户可以或不能拥有同一个reason的多个字符串。所以,也许我还没有解决真正的问题。在这种情况下,编辑你的问题,使之更加准确。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44961166

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档