php - TYPO3 中的数据库迁移
问题描述
我已经开始重构 ext:crawler 以使其与 TYPO3 9LTS 兼容。
目前我们有一个仅基于数据库表 + TCA 配置的域模型:
https://github.com/AOEpeople/crawler/blob/master/ext_tables.sql#L48 https://github.com/AOEpeople/crawler/blob/master/Configuration/TCA/tx_crawler_configuration.php
我想为配置添加一个常规的域模型和存储库,以便从 TYPO3 Core 的代码中受益更多。
我目前的问题是:
我不知道如何将数据从现有表迁移tx_crawler_configuration
到新表,tx_crawler_domain_model_configuration
而用户不会丢失任何数据,或者需要做任何手动工作。
我还没有找到关于这个主题的任何内容。我知道我可以“使用外国数据源”,但它不是外国数据,所以不确定这是最好的方法。 https://docs.typo3.org/typo3cms/ExtbaseFluidBook/6-Persistence/4-use-foreign-data-sources.html
感谢您的意见,谢谢。
解决方案
Torben Hansen 刚刚做了类似的事情,当他sf_bannners
从使用自己的 Category 概念迁移到使用 TYPO3 的 sys_category 概念时
他所做的是创建一个在安装时自动调用的 ext_update.php 脚本。你可以在这里看到他的提交
https://github.com/derhansen/sf_banners/commit/02c2c6f1729b96940bb4dd0ca29761fe48d28c14
并且可能会在 Slack 上遇到任何问题
推荐阅读
- css - 我有一个按钮,我希望它与页脚完美定位
- java - 聚合,Firebase java
- svelte - 为什么预加载在站点的本地开发版本与站点的本地导出版本中表现不同?
- python - 在 Linux Mint 中为 Intellij Idea 设置 python 路径变量
- python - 为什么这个实时数据代码在 Google Colab 中不起作用?
- docker - 如何确定已安装 docker-compose 的最高 docker-compose 文件版本
- docker - 为什么我的 Go Web 服务器在 Docker 容器中运行时返回“404 page not found”?
- javascript - 如何通过循环创建表达式和逻辑运算符的循环 - javaScript?
- react-native - 当使用 renderHook () Custom Hook 使用 jest 和 testing-library 在 react-native 中测试自定义钩子时,result.current 为 null
- node.js - Express-Handlebars 正在将我的数组数组合并成一个字符串?