地图集提供者-序列
使用大小写
- 申报移徙 - 使用类似地表形
atlas schema apply --env sequelize将您的系统化计划应用到数据库中. - 自动移徙规划 - 使用时
atlas migrate diff --env sequelize来自动规划从当前数据库版本到Sequelize schema的迁移.
安装
通过运行从 macOS 或 Linux 安装 Atlas :
curl -sSf https://atlasgo.sh | sh
见 地图集.io 用于更多的安装选项.
通过运行安装提供者 :
npm i @ariga/atlas-provider-sequelize
通过运行确定您的所有节点依赖性 :
npm i
独立
如果你所有的序列模型 在一个单一的节点模块中存在, 您可以使用提供者直接将您的系统化计划加载到 Atlas.
在您的工程目录中创建新文件 atlas.hcl 内容如下:
data "external_schema" "sequelize" {
program = [
"npx",
"@ariga/atlas-provider-sequelize",
"load",
"--path", "./path/to/models",
"--dialect", "mysql", // mariadb | postgres | sqlite | mssql
]
}
env "sequelize" {
src = data.external_schema.sequelize.url
dev = "docker://mysql/8/dev"
migration {
dir = "file://migrations"
}
format {
migrate {
diff = "{{ sql . \" \" }}"
}
}
}
作为联署文件
如果要使用提供者作为JS脚本,可以使用提供者如下:
创建名为新文件 load.js 内容如下:
#!/usr/bin/env node
// require sequelize models you want to load
const user = require("./models/user");
const task = require("./models/task");
const loadModels = require("@ariga/atlas-provider-sequelize");
console.log(loadModels("mysql", user, task));
下一步, 在您的工程目录中创建一个新文件 atlas.hcl 内容如下:
data "external_schema" "sequelize" {
program = [
"node",
"load.js",
]
}
env "sequelize" {
src = data.external_schema.sequelize.url
dev = "docker://mysql/8/dev"
migration {
dir = "file://migrations"
}
format {
migrate {
diff = "{{ sql . \" \" }}"
}
}
}
使用量
一旦安装了提供者,您就可以使用它来将您的系统化计划应用到数据库中:
应用
你可以用这个 atlas schema apply 命令来规划和应用数据库的迁移到
您的当前序列计划。 检查目标数据库并将其与目标数据库进行比较
整理出计划,制定移民计划。 阿特拉斯会促使你确认迁移计划
在将其应用到数据库之前.
atlas schema apply --env sequelize -u "mysql://root:password@localhost:3306/mydb"
这里 -u 旗帜接受 網址 页:1
目标数据库.
抖动
Atlas支持a 版本迁移
工作流程,其中对数据库的每次更改都会被版本并记录在迁移文件中. 你可以用这个
atlas migrate diff 命令以自动生成将迁移数据库的迁移文件
从最新修订到目前的系统化计划.
atlas migrate diff --env sequelize
支持的数据库
提供者支持下列数据库:
- MySQL 数据
- 马里亚DB
- 邮递SQL
- SQL 点
- 微软 SQL 服务器
问题
请报告本报告中的任何问题或特征要求 阿里加/阿特拉斯 仓库.
许可证
本项目根据以下规定获得许可证: Apache 许可证 2.0。 。 。 .