statamic/migrator

此包的最新版本(dev-master)没有提供许可证信息。

资助包维护!
statamic

安装次数 22,358

依赖项: 0

建议者: 0

安全: 0

星标: 43

关注者: 10

分支: 6

公开问题: 18

类型:statamic-addon

dev-master 2024-07-22 18:26 UTC

This package is auto-updated.

Last update: 2024-09-22 18:48:08 UTC


README

Statamic 4.0+

🤘 让从 v2 迁移变得更加容易!

📺 在此屏幕录像中查看迁移器的使用情况 点击此处

使用站点迁移器

站点迁移器是推荐迁移网站的方式。要开始...

  1. 在新位置安装Statamic的新实例,并需要迁移器

    composer require statamic/migrator --dev --with-all-dependencies
    
  2. 清除您的新站点,以确保在迁移之前删除所有默认内容

    php please site:clear
    
  3. 确保您在 v2 项目中运行的是 Statamic 的最新版本。

  4. 将您的 v2 项目的 site 文件夹以及任何本地资产容器文件夹复制到新项目的根目录中。

    • 如果您运行在 webroot 之上,请确保将您的 public/themes 文件夹复制到 site/themes 中。
  5. 提交到目前为止的所有更改,以便您可以看到迁移器执行的所有更改的差异,并在必要时轻松回滚。

  6. 运行以下命令以开始迁移

    php please migrate:site
    

    注意: 为了透明度,Statamic 向主页发送信号以记录关于迁移了哪些内容的统计信息。这些数据完全匿名,但您可以通过将 DISABLE_MIGRATOR_STATS=true 添加到 .env 文件中退出!

  7. 解决任何错误和警告,然后重新运行 migrate:site,直到没有剩余的问题。

    • 如果想要覆盖先前迁移的文件,请使用 --force 标志。

    • 虽然我们希望为您自动化大多数常见的繁琐任务,但任何更定制的内容可能需要手动迁移。有关重大更改的更多信息,请查看升级指南

  8. 当您完成并满意后,请随意删除您新项目根目录中的 site 和资产容器文件夹,然后运行以下命令

    composer remove statamic/migrator --dev
    composer update
    
  9. 订购披萨!🍕 🤘 😎

使用单个迁移器

如果您需要更细粒度的方法,也可以运行单个迁移器命令。在开始之前,请阅读使用站点迁移器,以确保迁移准备就绪。

字段集到蓝图迁移器

在 v3+ 中,蓝图 是字段集的替代品。值得注意的是,字段集 技术上仍然存在,但它们现在是蓝图的一个较小的、辅助功能。要将字段集迁移到蓝图

php please migrate:fieldset post

在此示例中,post 是字段集句柄。

集合迁移器

在 v3+ 中,集合具有不同的文件夹和配置结构。要将集合迁移

php please migrate:collection blog

在这个例子中,blog 是集合处理程序。

页面迁移器

在 v3+ 中,页面现在存储为一个 集合,并且有一个单独的 结构 来管理您的页面树层次结构。要迁移您的页面

php please migrate:pages

分类迁移器

在 v3+ 中,分类主要是即插即用,除了对配置结构的少量更改。要迁移一个分类

php please migrate:taxonomy tags

在这个例子中,tags 是分类处理程序。

资产容器迁移器

在 v3+ 中,资产和相关的元数据现在存储在一个 Laravel 文件系统 中。要迁移一个本地资产容器,您需要将您的资产文件夹复制到您的新项目根目录中,与您的 site 文件夹一起。如果您正在迁移基于 S3 的容器,可以跳过此步骤。一旦准备好,运行以下命令

php please migrate:asset-container main

在这个例子中,main 是资产容器处理程序。

全局迁移器

在 v3+ 中,全局变量主要是即插即用。要迁移一个全局集合

php please migrate:global-set global

在这个例子中,global 是全局集合处理程序。

表单迁移器

在 v3+ 中,表单字段现在在 蓝图 中定义。要迁移一个表单及其提交

php please migrate:form contact

在这个例子中,contact 是表单处理程序。

用户迁移器

在 v3+ 中,用户主要是即插即用。最显著的变化是现在 email 替换了 username 作为新的文件名和处理程序。要迁移一个用户

php please migrate:user hasselhoff

在这个例子中,hasselhoff 是用户名处理程序。

角色迁移器

在 v3+ 中,角色主要是即插即用。最显著的变化是角色现在由一个 slug 处理程序键入,而不是由 uuid 键入。值得注意的是,用户迁移器在用户端也处理这种关系。要迁移您的用户角色

php please migrate:roles

组迁移器

在 v3+ 中,组主要是即插即用。最显著的变化是组现在由一个 slug 处理程序键入,而不是由 uuid 键入。我们还从每个组中移除了 users 数组,转而在用户本身上存储 groups 关系。值得注意的是,用户迁移器在用户端也处理这种新关系。要迁移您的用户组

php please migrate:groups

设置迁移器

在 v3+ 中,网站设置现在存储在一个传统的 Laravel 配置目录 中。要迁移您的网站设置

php please migrate:settings

由于 v2 和 v3+ 之间的设置存在差异,我们无法保证您的设置可以完全迁移,但我们尽力为您更新最明显的内容。请务必确保所有重要的设置都已按需迁移!

主题迁移器

在 v3+ 中,'主题' 的概念已消失。您的网站只有一个,并且位于 resources 目录中。当运行完整的网站迁移时,我们仅尝试迁移您的活动主题。但是,您可以在运行此迁移器时指定任何主题处理程序

php please migrate:theme redwood

在这个例子中,redwood 是位于 site/themes 文件夹中的主题的处理程序。

值得注意的是,antlers 模板 已经经历了相当多的变化。最明显的变化是 antlers 现在使用 .antlers.html 文件扩展名。您还会注意到可用的 标签修饰符 以及变量如何 级联 等等方面的变化。

由于 antlers 模板的演变,我们无法保证完全迁移您的主题,但我们尽力为您更新最明显的内容。

提交问题

虽然我们希望为您自动化大部分常见的繁琐工作,但对于更定制化的需求可能需要手动迁移。因此,我们建议您熟悉升级指南。虽然我们无法自动化所有内容,但希望您已经发现这个包在您向v3+版本过渡时很有用。如果您遇到任何您认为需要解决的错误或问题,请创建一个新问题