全部学科
NodeJS全栈
nodejs
Python全栈
python
小程序首页

数据库迁移基础专题测试

15 题 30 分钟 难度:

考察知识点

  • AutoMigrate 自动迁移
  • 表结构变更
  • 索引与约束
  • 迁移最佳实践
1
单选题

GORM 的 AutoMigrate 方法的主要作用是什么?

A

自动删除不存在的表

B

自动创建表和添加缺失的列与索引

C

自动插入测试数据

D

自动备份数据库

2
多选题

以下关于 AutoMigrate 的使用,哪些是正确的?

A

db.AutoMigrate(&User{}) 迁移单个模型

B

db.AutoMigrate(&User{}, &Product{}) 迁移多个模型

C

AutoMigrate 会自动删除已不存在的字段

D

AutoMigrate 会创建外键约束

3
判断题

AutoMigrate 适合在生产环境中使用,因为它会自动处理数据迁移和兼容性。

A

B

4
单选题

如何检查数据库中是否存在某个表?

A

db.HasTable(&User{})

B

db.TableExists("users")

C

db.CheckTable(&User{})

D

db.Table("users").Exists()

5
多选题

以下哪些是 GORM 提供的表结构检查方法?

A

HasTable 检查表是否存在

B

HasColumn 检查表中是否存在某列

C

HasIndex 检查表中是否存在索引

D

HasConstraint 检查表中是否存在约束

6
填空题

检查表中是否存在某列可以使用 db.Migrator()._________(&User{}, ________________) 方法。

7
单选题

使用 GORM 手动创建表应该使用哪个方法?

A

db.CreateTable(&User{})

B

db.AutoMigrate(&User{})

C

db.Migrator().CreateTable(&User{})

D

db.CreateTable(&User{})

8
多选题

以下哪些场景适合使用手动创建表而不是 AutoMigrate?

A

需要在创建表前后执行自定义 SQL

B

需要精确控制表结构和约束

C

需要自动添加缺失的列

D

需要在创建表时初始化数据

9
判断题

CreateTable 方法在表已存在时会返回错误,而 AutoMigrate 在表已存在时会跳过创建。

A

B

10
填空题

手动创建表的完整流程是:先使用 db.Migrator().________(&User{}) 检查表是否存在,如果不存在则调用 db.Migrator().___________(&User{}) 创建。

11
单选题

以下哪个方法可以检查数据库中是否存在指定表?

A

db.HasTable(&User{})

B

db.TableExists("users")

C

db.CheckTable(&User{})

D

db.HasModel("User")

12
判断题

db.Migrator().HasColumn(&User{}, "name") 可以检查表中是否存在指定列。

A

B

13
多选题

以下哪些是 GORM Migrator 接口提供的方法?

A

HasTable

B

HasColumn

C

HasIndex

D

HasConstraint

14
单选题

如何手动创建 User 模型对应的数据库表?

A

db.CreateTable(&User{})

B

db.Migrator().CreateTable(&User{})

C

db.Exec("CREATE TABLE users...")

D

B 和 C 都可以

15
填空题

删除表可以使用 db.Migrator()._________(&User{{}}) 或 ________________________

← 上一个试卷 插件系统专题测试
下一个试卷 → 数据库连接池管理专题测试

📝 发现内容有误?点击此处直接编辑

想参加完整模拟考试?
小程序提供计时考试、自动评分和详细解析

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库