跳转到正文

SQL 导入与导出

如果已有正在运行的 SQL,就不必从头重新创建。可以将 SQL 的表、列和索引导入为架构文件(.sfn)格式,反过来也可以将编写好的架构文件转换为外部数据库用的 SQL 进行确认。


打开 SQL 转换器

点击架构界面上方的 编辑器 选项卡,然后选择左侧的 SQL 转换器。

SQL 转换器

从 SQL 创建架构文件

  • 在架构界面中选择 导入 > SQL,并粘贴 CREATE TABLE 语句。
  • 在工作空间中打开 .sql 文件后,执行 转换为 SetFN 架构。

系统会解析 SQLite、PostgreSQL、MySQL/MariaDB 的常见列类型、默认值、自动编号、索引和表约束条件。转换后,请确认要保存的 .sfn 文档的表数量和警告。

选择数据库

选择要转换的目标数据库后,右侧会立即显示相应格式的 SQL。

确认 SQL 脚本

确认转换后的 SQL 脚本。下面是以 MySQL 为基准的转换示例。

-- MYSQL Schema creation
CREATE DATABASE IF NOT EXISTS `public`;
USE `public`;

CREATE TABLE IF NOT EXISTS `public`.`user_profile` (
    `user_id` INT AUTO_INCREMENT NOT NULL UNIQUE,
    `email` VARCHAR(255) NOT NULL UNIQUE,
    `is_active` BOOLEAN NOT NULL DEFAULT TRUE,
    `created_at` TIMESTAMP NOT NULL DEFAULT now()
);
CREATE INDEX `user_id_idx` ON `public`.`user_profile` (`user_id`);
CREATE INDEX `email_idx` ON `public`.`user_profile` (`email`);

保存 SQL 文件

可以通过代码区域右上方的 复制 按钮复制脚本,或通过 保存 按钮保存为 .sql 扩展名的文件。

支持对象

在 SQL 转换器 中可以选择 MySQL、PostgreSQL、Oracle、MSSQL、SQLite3、MongoDB 和 Elasticsearch。MongoDB 显示为集合创建脚本,Elasticsearch 显示为索引映射。

可部署到 Webspace 的存储引擎为 SQLite3、PostgreSQL、MySQL 和 MariaDB。SQL 转换器 中没有单独的 MariaDB 选项,MariaDB 部署使用与 MySQL/InnoDB 兼容的存储方式。

注意事项

  • 转换后的 SQL 以架构文件的当前状态为基准生成。修改架构后需要重新转换,才能反映最新内容。
  • 各数据库可能存在不支持的数据类型,请务必确认转换结果。
  • 触发器、视图、分区和存储过程可能不在自动转换范围内。

相关文档